# Copyright 2012 Google Inc.
# 
# Licensed under the Apache License, Version 2.0 (the "License"); you may not
# use this file except in compliance with the License. You may obtain a copy of
# the License at
# 
# http://www.apache.org/licenses/LICENSE-2.0
# 
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations under
# the License.

#
# The key is an ISO4217 currency code, and the value is of the form:
#   display name|symbol|decimal digits|not-used-flag|rounding
# If a symbol is not supplied, the currency code will be used
# If # of decimal digits is omitted, 2 is used
# If a currency is not generally used, not-used-flag=1
# If a currency should be rounded to a multiple of of the least significant
#   digit, rounding will be present
# Trailing empty fields can be omitted

# DO NOT EDIT - GENERATED FROM CLDR DATA:
#  cldrVersion=21.0
#  number=$Revision: 6546 $
#  type=root
#  date=$Date: 2012-02-07 13:32:35 -0500 (Tue, 07 Feb 2012) $

AED = ꖳꕯꔤꗳ ꕉꕟꔬ ꗡꕆꔓꔻ ꔵꕌꕆ
AOA = ꕉꖐꕞ ꖴꕎꘋꕤ
AUD = ꖺꔻꖤꔃꔷꕩ ꕜꕞꕌ|AU$
BHD = ꕑꗸꘋ||3
BIF = ꖜꖩꔺ ꖢꕟꘋꕃ||0
BWP = ꕷꖬꕎꕯ ꖛꕞ
CAD = ꕪꕯꕜ ꕜꕞꕌ|CA$
CDF = ꖏꖐꕱ ꖢꕟꘋꕃ
CHF = ꖬꔃꕤ ꖨꕮꕊ ꖢꕟꘋꕃ||||5
CNY = ꕦꕇꔧ ꖳꕎꘋ ꔓꕆꘋꔬ|CN¥
CVE = ꗡꔻꖴꖁ ꕪꕷꗲꗡꔵꕩꖆ
DJF = ꕀꖜꔳ ꖢꕟꘋꕃ||0
DZD = ꕉꔷꕀꔸꕩ ꔵꕯ
EGP = ꕆꔻꕞ ꗁꖻꘋ
ERN = ꔀꔸꔳꕟ ꗁꖻꘋ
ETB = ꔤꕿꖎꔪꕩ ꔫꔤ
EUR = ꖳꖄ|€
GBP = ꔛꔟꔻ ꗁꖻꘋ ꔻꗳꔷꘋ|UK£
GHC = ꕭꕌꕯ ꔻꔵ|||1
GMD = ꕭꔭꕩ ꕜꕞꔻ
GNS = ꕅꔤꕇ ꖢꕟꘋꕃ|||1
INR = ꔤꔺꕩ ꖩꔪ|Rs.
JPY = ꕧꕐꕇꔧ ꘂꘋ|JP¥|0
KES = ꔞꕰ ꔻꔝꘋ
KMF = ꖏꖒꖄ ꖢꕟꘋꕃ||0
LRD = ꕞꔤꔫꕩ ꕜꕞꕌ|$
LSL = ꔷꖇꕿ ꖃꔳ
LYD = ꔷꔫꕩ ꔵꕯ||3
MAD = ꗞꕟꖏ ꔵꕌꕆ
MGA = ꕮꕞꕭꕌꔻ ꕉꔸꕩꔸ||0
MRO = ꗞꔸꕚꕇꕰ ꖳꕅꕩ||0
MUR = ꗞꔓꗔ ꖩꔪ||0
MWK = ꕮꕞꕌꔨ ꖴꕎꕦ
MZM = ꗞꕤꔭꕃ ꕆꔳꕪ|||1
NAD = ꕯꕆꔫꕩ ꕜꕞꕌ
NGN = ꕯꔤꕀꔸꕩ ꕯꔤꕟ
RWF = ꕟꖙꕡ ꖢꕟꘋꕃ||0
SAR = ꕢꖙꔵ ꔸꕩꔷ
SCR = ꔖꗼꔷ ꖩꔪ
SDG = ꖬꗵꘋ ꗁꖻꘋ
SHP = ꔻꘋ ꗥꔷꕯ ꗁꖻꘋ
SLL = ꔷꗚꘋ||0
SOS = ꖇꕮꔷ ꔻꔝꘋ||0
STD = ꕢꕴ ꕿꔈ ꗪ ꕉ ꕗꕴ ꖁꖜꕟ||0
SZL = ꔷꕞꔟꕇ
TND = ꖤꕇꔻꕩ ꔵꕯ||3
TZS = ꕚꘋꕤꕇꕰ ꔻꔝꘋ||0
UGX = ꖳꕭꕡ ꔻꔝꘋ||0
USD = ꕶꕱ ꕜꕞ|US$
ZAR = ꕉꔱꔸꕪ ꗛꔤ ꔒꘋꗣ ꗏ ꕟꘋꔵ
ZMK = ꕤꔭꕩ ꖴꕎꕦ||0
ZWD = ꔽꕓꖜꔃ ꕜꕞ||0|1
