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