# BOL_2_area.properties 
# This file contains area values for BOLIVIA
# /*********************************************************************************************
# * Copyright (c) 2006 IBM Corporation and others.
# * All rights reserved. This program and the accompanying materials
# * are made available under the terms of the Eclipse Public License v1.0
# * which accompanies this distribution, and is available at
# * http://www.eclipse.org/legal/epl-v10.html
# *
# * Contributors:
# *     IBM Corporation - initial API and implementation
# ***********************************************************************************************/

# /**********************************************************************************************
# * Key Format: 
# * 
# * 	 For level 1 data, the key is the ISO3166-2 code. An ISO3166-2 code is composed as follows: 
# * a two letter country code followed by up to three alphanumeric characters for the level 1 administration.
# *
# * 	 For level 2 data, the key is the ISO3166-2 code followed by six digits. The leftmost two digits indicate
# * the level 1 container of a level 2 administration (i.e. California is a level 1 container for Orange County
# * which is a level 2 administration).  The two digits were taken from a lexicographic sorting of all the
# * level 1 administrations within a country. Similarly, the four leftmost digits indicate a level 2 administration.
# * Again, these four digits are an index into the lexicographic sorting of all level 2 administrations within 
# * a level 1 administration. 
# ************************************************************************************************/

# This is the name of the class that will interpret the rest of the file's contents
RECORD_CLASSNAME = org.eclipse.stem.internal.data.geography.specifications.CountryAreaLabelPropertyFileSpecification

# The ISO-3166-1 alpha3 code for the country
ISOKEY = BOL

# The administration level of the area data
ADMIN_LEVEL = 2

# This is the date range for which the area values in this file are valid 
# See http://purl.org/dc/terms/1.1/valid
VALID = start=1900-01-01;

# This is the source of the data
SOURCE = https://www.cia.gov/library/publications/the-world-factbook/
# SOURCE = https://www.cia.gov/library/publications/the-world-factbook/

# Level 1 (admin 1 = e.g., state)
# Level 2 (admin 2 = e.g., county)

# Generated key details :  Level 1 ( BO-B = BENI ). Level 2 ( 010007 = VACA DIEZ ). 
BO-B-G010007 = 16965.741239
# Generated key details :  Level 1 ( BO-N = PANDO ). Level 2 ( 060005 = NICOLAS SUAREZ ). 
BO-N-G060005 = 9072.505997
# Generated key details :  Level 1 ( BO-N = PANDO ). Level 2 ( 060004 = MANURIPI ). 
BO-N-G060004 = 20259.512894
# Generated key details :  Level 1 ( BO-N = PANDO ). Level 2 ( 060003 = MADRE DE DIOS ). 
BO-N-G060003 = 11257.501551
# Generated key details :  Level 1 ( BO-L = LA PAZ ). Level 2 ( 040008 = ITURRALDE ). 
BO-L-G040008 = 42651.662636
# Generated key details :  Level 1 ( BO-B = BENI ). Level 2 ( 010008 = YACUMA ). 
BO-B-G010008 = 45515.147170
# Generated key details :  Level 1 ( BO-B = BENI ). Level 2 ( 010004 = MAMORE ). 
BO-B-G010004 = 19601.241153
# Generated key details :  Level 1 ( BO-B = BENI ). Level 2 ( 010002 = GRAL.J.BALLIVIA ). 
BO-B-G010002 = 35512.376735
# Generated key details :  Level 1 ( BO-B = BENI ). Level 2 ( 010003 = ITENEZ ). 
BO-B-G010003 = 38044.816024
# Generated key details :  Level 1 ( BO-S = SANTA CRUZ ). Level 2 ( 080012 = VELASCO ). 
BO-S-G080012 = 70699.675027
# Generated key details :  Level 1 ( BO-B = BENI ). Level 2 ( 010006 = MOXOS ). 
BO-B-G010006 = 26604.206909
# Generated key details :  Level 1 ( BO-S = SANTA CRUZ ). Level 2 ( 080009 = NUFLO DE CHAVEZ ). 
BO-S-G080009 = 74938.030674
# Generated key details :  Level 1 ( BO-B = BENI ). Level 2 ( 010001 = CERCADO ). 
BO-B-G010001 = 13016.248915
# Generated key details :  Level 1 ( BO-L = LA PAZ ). Level 2 ( 040003 = FRANZ TAMAYO ). 
BO-L-G040003 = 16893.108275
# Generated key details :  Level 1 ( BO-L = LA PAZ ). Level 2 ( 040017 = SAAVEDRA ). 
BO-L-G040017 = 2412.240883
# Generated key details :  Level 1 ( BO-B = BENI ). Level 2 ( 010005 = MARBAN ). 
BO-B-G010005 = 18304.160753
# Generated key details :  Level 1 ( BO-L = LA PAZ ). Level 2 ( 040018 = SUD YUNGAS ). 
BO-L-G040018 = 6186.642576
# Generated key details :  Level 1 ( BO-L = LA PAZ ). Level 2 ( 040009 = LARECAJA ). 
BO-L-G040009 = 8511.728626
# Generated key details :  Level 1 ( BO-L = LA PAZ ). Level 2 ( 040012 = MUNECAS ). 
BO-L-G040012 = 2581.963453
# Generated key details :  Level 1 ( BO-L = LA PAZ ). Level 2 ( 040002 = CAMACHO ). 
BO-L-G040002 = 3233.501496
# Generated key details :  Level 1 ( BO-L = LA PAZ ). Level 2 ( 040014 = NOR YUNGAS ). 
BO-L-G040014 = 5028.747484
# Generated key details :  Level 1 ( BO-L = LA PAZ ). Level 2 ( 040013 = MURILLO ). 
BO-L-G040013 = 4862.224931
# Generated key details :  Level 1 ( BO-L = LA PAZ ). Level 2 ( 040015 = OMASUYOS ). 
BO-L-G040015 = 2993.755743
# Generated key details :  Level 1 ( BO-C = COCHABAMBA ). Level 2 ( 030009 = CHAPARE ). 
BO-C-G030009 = 15565.995992
# Generated key details :  Level 1 ( BO-C = COCHABAMBA ). Level 2 ( 030004 = AYOPAYA ). 
BO-C-G030004 = 8016.197797
# Generated key details :  Level 1 ( BO-S = SANTA CRUZ ). Level 2 ( 080008 = ICHILO ). 
BO-S-G080008 = 12835.711554
# Generated key details :  Level 1 ( BO-C = COCHABAMBA ). Level 2 ( 030007 = CARRASCO ). 
BO-C-G030007 = 12209.034457
# Generated key details :  Level 1 ( BO-S = SANTA CRUZ ). Level 2 ( 080010 = SANTIESTEBAN ). 
BO-S-G080010 = 6933.647482
# Generated key details :  Level 1 ( BO-L = LA PAZ ). Level 2 ( 040006 = INQUISIVI ). 
BO-L-G040006 = 7206.900439
# Generated key details :  Level 1 ( BO-L = LA PAZ ). Level 2 ( 040011 = MANCO KAPAC ). 
BO-L-G040011 = 854.392347
# Generated key details :  Level 1 ( BO-L = LA PAZ ). Level 2 ( 040010 = LOS ANDES ). 
BO-L-G040010 = 1830.567847
# Generated key details :  Level 1 ( BO-S = SANTA CRUZ ). Level 2 ( 080001 = A.SANDOVAL ). 
BO-S-G080001 = 32292.941627
# Generated key details :  Level 1 ( BO-S = SANTA CRUZ ). Level 2 ( 080007 = GUTIERREZ ). 
BO-S-G080007 = 4824.729248
# Generated key details :  Level 1 ( BO-L = LA PAZ ). Level 2 ( 040005 = INGAVI ). 
BO-L-G040005 = 4540.020947
# Generated key details :  Level 1 ( BO-L = LA PAZ ). Level 2 ( 040007 = IOAYZA ). 
BO-L-G040007 = 3980.930541
# Generated key details :  Level 1 ( BO-L = LA PAZ ). Level 2 ( 040001 = AROMA ). 
BO-L-G040001 = 4390.812554
# Generated key details :  Level 1 ( BO-L = LA PAZ ). Level 2 ( 040016 = PACAJES ). 
BO-L-G040016 = 14170.149400
# Generated key details :  Level 1 ( BO-C = COCHABAMBA ). Level 2 ( 030001 = ARANI ). 
BO-C-G030001 = 2551.903889
# Generated key details :  Level 1 ( BO-S = SANTA CRUZ ). Level 2 ( 080004 = CHIQUITOS ). 
BO-S-G080004 = 58477.524087
# Generated key details :  Level 1 ( BO-S = SANTA CRUZ ). Level 2 ( 080013 = WARNES ). 
BO-S-G080013 = 2354.404840
# Generated key details :  Level 1 ( BO-C = COCHABAMBA ). Level 2 ( 030013 = QUILLACOLLO ). 
BO-C-G030013 = 1268.414685
# Generated key details :  Level 1 ( BO-C = COCHABAMBA ). Level 2 ( 030008 = CERCADO ). 
BO-C-G030008 = 370.224637
# Generated key details :  Level 1 ( BO-C = COCHABAMBA ). Level 2 ( 030014 = TAPACARI ). 
BO-C-G030014 = 1392.848610
# Generated key details :  Level 1 ( BO-S = SANTA CRUZ ). Level 2 ( 080002 = ANDRES IBANEZ ). 
BO-S-G080002 = 5229.272468
# Generated key details :  Level 1 ( BO-C = COCHABAMBA ). Level 2 ( 030012 = PUNATA ). 
BO-C-G030012 = 362.745002
# Generated key details :  Level 1 ( BO-S = SANTA CRUZ ). Level 2 ( 080003 = CABALLERO ). 
BO-S-G080003 = 2732.864358
# Generated key details :  Level 1 ( BO-O = ORURO ). Level 2 ( 050004 = CERCADO ). 
BO-O-G050004 = 6255.232229
# Generated key details :  Level 1 ( BO-L = LA PAZ ). Level 2 ( 040004 = G.VILLARROEL ). 
BO-L-G040004 = 1655.564641
# Generated key details :  Level 1 ( BO-C = COCHABAMBA ). Level 2 ( 030006 = CAPINOTA ). 
BO-C-G030006 = 937.985393
# Generated key details :  Level 1 ( BO-S = SANTA CRUZ ). Level 2 ( 080006 = FLORIDA ). 
BO-S-G080006 = 5095.256208
# Generated key details :  Level 1 ( BO-C = COCHABAMBA ). Level 2 ( 030010 = JORDAN ). 
BO-C-G030010 = 202.111488
# Generated key details :  Level 1 ( BO-C = COCHABAMBA ). Level 2 ( 030002 = ARCE ). 
BO-C-G030002 = 1249.917283
# Generated key details :  Level 1 ( BO-C = COCHABAMBA ). Level 2 ( 030011 = MIZOQUE ). 
BO-C-G030011 = 3847.932142
# Generated key details :  Level 1 ( BO-C = COCHABAMBA ). Level 2 ( 030003 = ARQUE ). 
BO-C-G030003 = 1300.315501
# Generated key details :  Level 1 ( BO-O = ORURO ). Level 2 ( 050010 = SAJAMA ). 
BO-O-G050010 = 8859.709597
# Generated key details :  Level 1 ( BO-O = ORURO ). Level 2 ( 050003 = CARANGAS ). 
BO-O-G050003 = 7634.005064
# Generated key details :  Level 1 ( BO-O = ORURO ). Level 2 ( 050011 = SAUCARI ). 
BO-O-G050011 = 3020.102338
# Generated key details :  Level 1 ( BO-P = POTOSI ). Level 2 ( 070001 = BILBAO ). 
BO-P-G070001 = 968.233617
# Generated key details :  Level 1 ( BO-C = COCHABAMBA ). Level 2 ( 030005 = CAMPERO ). 
BO-C-G030005 = 6355.280918
# Generated key details :  Level 1 ( BO-P = POTOSI ). Level 2 ( 070006 = IBANEZ ). 
BO-P-G070006 = 2007.000272
# Generated key details :  Level 1 ( BO-S = SANTA CRUZ ). Level 2 ( 080005 = CORDILLERA ). 
BO-S-G080005 = 88031.005477
# Generated key details :  Level 1 ( BO-P = POTOSI ). Level 2 ( 070003 = CHARCAS ). 
BO-P-G070003 = 3090.862580
# Generated key details :  Level 1 ( BO-O = ORURO ). Level 2 ( 050007 = LAGO POOPO ). 
BO-O-G050007 = 1557.643980
# Generated key details :  Level 1 ( BO-O = ORURO ). Level 2 ( 050005 = DALENCE ). 
BO-O-G050005 = 1130.009339
# Generated key details :  Level 1 ( BO-S = SANTA CRUZ ). Level 2 ( 080011 = VALLE GRANDE ). 
BO-S-G080011 = 6175.852993
# Generated key details :  Level 1 ( BO-P = POTOSI ). Level 2 ( 070002 = BUSTILLOS ). 
BO-P-G070002 = 1935.260352
# Generated key details :  Level 1 ( BO-O = ORURO ). Level 2 ( 050008 = LITORAL ). 
BO-O-G050008 = 3005.961731
# Generated key details :  Level 1 ( BO-O = ORURO ). Level 2 ( 050009 = POOPO ). 
BO-O-G050009 = 1423.093966
# Generated key details :  Level 1 ( BO-H = CHUQUISACA ). Level 2 ( 020006 = OROPEZA ). 
BO-H-G020006 = 3705.506398
# Generated key details :  Level 1 ( BO-P = POTOSI ). Level 2 ( 070004 = CHAYANTA ). 
BO-P-G070004 = 5039.282601
# Generated key details :  Level 1 ( BO-H = CHUQUISACA ). Level 2 ( 020010 = ZUDANEZ ). 
BO-H-G020010 = 4499.674195
# Generated key details :  Level 1 ( BO-O = ORURO ). Level 2 ( 050001 = ATAHUALLPA ). 
BO-O-G050001 = 7384.477211
# Generated key details :  Level 1 ( BO-O = ORURO ). Level 2 ( 050002 = AVAROA ). 
BO-O-G050002 = 5416.558760
# Generated key details :  Level 1 ( BO-H = CHUQUISACA ). Level 2 ( 020002 = B.BOETO ). 
BO-H-G020002 = 1893.614579
# Generated key details :  Level 1 ( BO-H = CHUQUISACA ). Level 2 ( 020009 = YAMPARAEZ ). 
BO-H-G020009 = 1534.467600
# Generated key details :  Level 1 ( BO-H = CHUQUISACA ). Level 2 ( 020004 = LUIS CALVO ). 
BO-H-G020004 = 13138.346780
# Generated key details :  Level 1 ( BO-O = ORURO ). Level 2 ( 050006 = L.CABRERA ). 
BO-O-G050006 = 7875.738791
# Generated key details :  Level 1 ( BO-P = POTOSI ). Level 2 ( 070012 = SAAVEDRA ). 
BO-P-G070012 = 2614.410640
# Generated key details :  Level 1 ( BO-H = CHUQUISACA ). Level 2 ( 020008 = TOMINA ). 
BO-H-G020008 = 3623.100298
# Generated key details :  Level 1 ( BO-P = POTOSI ). Level 2 ( 070015 = TOMAS FRIAS ). 
BO-P-G070015 = 3810.014081
# Generated key details :  Level 1 ( BO-P = POTOSI ). Level 2 ( 070011 = QUIJARRO ). 
BO-P-G070011 = 13410.224181
# Generated key details :  Level 1 ( BO-P = POTOSI ). Level 2 ( 070007 = LINARES ). 
BO-P-G070007 = 5049.599131
# Generated key details :  Level 1 ( BO-P = POTOSI ). Level 2 ( 070005 = DANIEL CAMPOS ). 
BO-P-G070005 = 17908.034012
# Generated key details :  Level 1 ( BO-H = CHUQUISACA ). Level 2 ( 020001 = AZURDUY ). 
BO-H-G020001 = 3158.360007
# Generated key details :  Level 1 ( BO-H = CHUQUISACA ). Level 2 ( 020003 = HDO. SILES ). 
BO-H-G020003 = 6124.470000
# Generated key details :  Level 1 ( BO-H = CHUQUISACA ). Level 2 ( 020005 = NOR CINTI ). 
BO-H-G020005 = 7875.648850
# Generated key details :  Level 1 ( BO-P = POTOSI ). Level 2 ( 070009 = NOR CHICHAS ). 
BO-P-G070009 = 10087.941755
# Generated key details :  Level 1 ( BO-P = POTOSI ). Level 2 ( 070010 = NOR LIPEZ ). 
BO-P-G070010 = 21769.062116
# Generated key details :  Level 1 ( BO-H = CHUQUISACA ). Level 2 ( 020007 = SUD CINTI ). 
BO-H-G020007 = 5970.753379
# Generated key details :  Level 1 ( BO-P = POTOSI ). Level 2 ( 070013 = SUD CHICHAS ). 
BO-P-G070013 = 8954.666866
# Generated key details :  Level 1 ( BO-T = TARIJA ). Level 2 ( 090005 = OCONNOR ). 
BO-T-G090005 = 5462.764702
# Generated key details :  Level 1 ( BO-T = TARIJA ). Level 2 ( 090004 = MENDEZ ). 
BO-T-G090004 = 4135.453846
# Generated key details :  Level 1 ( BO-T = TARIJA ). Level 2 ( 090003 = GRAN CHACO ). 
BO-T-G090003 = 18887.945016
# Generated key details :  Level 1 ( BO-T = TARIJA ). Level 2 ( 090002 = CERCADO ). 
BO-T-G090002 = 1326.317228
# Generated key details :  Level 1 ( BO-P = POTOSI ). Level 2 ( 070014 = SUD LIPEZ ). 
BO-P-G070014 = 18870.105563
# Generated key details :  Level 1 ( BO-T = TARIJA ). Level 2 ( 090006 = VILES ). 
BO-T-G090006 = 2737.525306
# Generated key details :  Level 1 ( BO-P = POTOSI ). Level 2 ( 070008 = MODESTO OMISTE ). 
BO-P-G070008 = 2703.197784
# Generated key details :  Level 1 ( BO-T = TARIJA ). Level 2 ( 090001 = ARCE ). 
BO-T-G090001 = 5072.958830
# Generated key details :  Level 1 ( BO-N = PANDO ). Level 2 ( 060002 = GRAL.FDCO POMA ). 
BO-N-G060002 = 13321.493581
# Generated key details :  Level 1 ( BO-N = PANDO ). Level 2 ( 060001 = ABUNA ). 
BO-N-G060001 = 9915.961778
