mirror of
https://github.com/dataforcanada/d4c-datapkg-statistical.git
synced 2026-06-13 14:10:55 +02:00
692 lines
161 KiB
HTML
692 lines
161 KiB
HTML
<!DOCTYPE html>
|
|
<html lang="en">
|
|
<head>
|
|
<title>2021 Census of Population Characteristics</title>
|
|
<meta property="og:description" content="Visualize vector tile fields of all 2021 Census of Population characteristics, with dynamic classification." />
|
|
<meta charset='utf-8'>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<link rel='stylesheet' href='./maplibre-gl.css' />
|
|
<script src='./maplibre-gl.js'></script>
|
|
<script src='./simple-statistics.min.js'></script>
|
|
<style>
|
|
body {
|
|
margin: 0;
|
|
padding: 0;
|
|
font-family: Arial, sans-serif;
|
|
}
|
|
|
|
html,
|
|
body,
|
|
#map {
|
|
height: 100%;
|
|
}
|
|
|
|
.search-container {
|
|
position: absolute;
|
|
top: 10px;
|
|
right: 10px;
|
|
z-index: 1000;
|
|
background: white;
|
|
border-radius: 8px;
|
|
box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
|
|
width: 300px;
|
|
}
|
|
|
|
.search-input {
|
|
width: 100%;
|
|
padding: 12px;
|
|
border: none;
|
|
border-radius: 8px;
|
|
font-size: 14px;
|
|
outline: none;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.search-results {
|
|
max-height: 200px;
|
|
overflow-y: auto;
|
|
border-top: 1px solid #eee;
|
|
display: none;
|
|
}
|
|
|
|
.search-item {
|
|
padding: 10px 12px;
|
|
cursor: pointer;
|
|
border-bottom: 1px solid #f5f5f5;
|
|
font-size: 13px;
|
|
}
|
|
|
|
.search-item:hover {
|
|
background-color: #f0f0f0;
|
|
}
|
|
|
|
.search-item:last-child {
|
|
border-bottom: none;
|
|
}
|
|
|
|
.recalculate-btn {
|
|
position: absolute;
|
|
bottom: 10px;
|
|
left: 10px;
|
|
z-index: 1000;
|
|
background: #007cbf;
|
|
color: white;
|
|
border: none;
|
|
padding: 10px 15px;
|
|
border-radius: 6px;
|
|
font-size: 12px;
|
|
cursor: pointer;
|
|
box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
.recalculate-btn:hover {
|
|
background: #005a87;
|
|
}
|
|
|
|
.current-field {
|
|
position: absolute;
|
|
top: 70px;
|
|
right: 10px;
|
|
z-index: 1000;
|
|
background: rgba(255, 255, 255, 0.95);
|
|
padding: 8px 12px;
|
|
border-radius: 6px;
|
|
font-size: 12px;
|
|
color: #333;
|
|
max-width: 300px;
|
|
word-break: break-word;
|
|
}
|
|
|
|
.legend {
|
|
position: absolute;
|
|
bottom: 20px;
|
|
right: 10px;
|
|
z-index: 1000;
|
|
background: rgba(255, 255, 255, 0.95);
|
|
border-radius: 6px;
|
|
padding: 12px;
|
|
font-size: 12px;
|
|
min-width: 120px;
|
|
}
|
|
|
|
.legend-title {
|
|
font-weight: bold;
|
|
margin-bottom: 8px;
|
|
}
|
|
|
|
.legend-item {
|
|
display: flex;
|
|
align-items: center;
|
|
margin-bottom: 4px;
|
|
}
|
|
|
|
.legend-color {
|
|
width: 16px;
|
|
height: 16px;
|
|
margin-right: 8px;
|
|
border: 1px solid #ccc;
|
|
}
|
|
|
|
.classification-info {
|
|
position: absolute;
|
|
bottom: 50px;
|
|
left: 10px;
|
|
z-index: 1000;
|
|
background: rgba(255, 255, 255, 0.95);
|
|
padding: 8px 12px;
|
|
border-radius: 6px;
|
|
font-size: 11px;
|
|
color: #666;
|
|
max-width: 200px;
|
|
}
|
|
|
|
/* Pelias Geocoder Styles - Adapted for MapLibre */
|
|
.pelias-ctrl {
|
|
position: relative;
|
|
display: inline-block;
|
|
background: #fff;
|
|
border-radius: 3px;
|
|
box-shadow: 0 0 10px 2px rgba(0,0,0,.1);
|
|
min-width: 200px;
|
|
max-width: 360px;
|
|
}
|
|
|
|
.pelias-ctrl-input {
|
|
width: 100%;
|
|
border: 0;
|
|
font-size: 12px;
|
|
line-height: 1.67;
|
|
padding: 8px 32px 8px 8px;
|
|
text-overflow: ellipsis;
|
|
background: transparent;
|
|
outline: none;
|
|
box-sizing: border-box;
|
|
}
|
|
|
|
.pelias-ctrl-input::-webkit-input-placeholder {
|
|
color: #9b9b9b;
|
|
}
|
|
|
|
.pelias-ctrl-input::-moz-placeholder {
|
|
color: #9b9b9b;
|
|
}
|
|
|
|
.pelias-ctrl-input:-ms-input-placeholder {
|
|
color: #9b9b9b;
|
|
}
|
|
|
|
.pelias-ctrl-input:-moz-placeholder {
|
|
color: #9b9b9b;
|
|
}
|
|
|
|
.pelias-ctrl-results {
|
|
position: absolute;
|
|
top: 100%;
|
|
left: 0;
|
|
right: 0;
|
|
background: #fff;
|
|
border-top: 1px solid #eee;
|
|
border-radius: 0 0 3px 3px;
|
|
box-shadow: 0 0 10px 2px rgba(0,0,0,.1);
|
|
z-index: 1000;
|
|
max-height: 200px;
|
|
overflow-y: auto;
|
|
display: none;
|
|
}
|
|
|
|
.pelias-ctrl-results.active {
|
|
display: block;
|
|
}
|
|
|
|
.pelias-ctrl-result {
|
|
padding: 8px;
|
|
cursor: pointer;
|
|
border-bottom: 1px solid #eee;
|
|
font-size: 12px;
|
|
line-height: 1.4;
|
|
}
|
|
|
|
.pelias-ctrl-result:last-child {
|
|
border-bottom: none;
|
|
}
|
|
|
|
.pelias-ctrl-result:hover,
|
|
.pelias-ctrl-result.active {
|
|
background: #f8f8f8;
|
|
}
|
|
|
|
.pelias-ctrl-result-name {
|
|
font-weight: bold;
|
|
margin-bottom: 2px;
|
|
}
|
|
|
|
.pelias-ctrl-result-address {
|
|
color: #666;
|
|
}
|
|
|
|
.pelias-ctrl-clear {
|
|
position: absolute;
|
|
right: 8px;
|
|
top: 50%;
|
|
transform: translateY(-50%);
|
|
background: none;
|
|
border: none;
|
|
cursor: pointer;
|
|
font-size: 16px;
|
|
color: #999;
|
|
padding: 0;
|
|
width: 20px;
|
|
height: 20px;
|
|
display: none;
|
|
}
|
|
|
|
.pelias-ctrl-clear:hover {
|
|
color: #333;
|
|
}
|
|
|
|
.pelias-ctrl-clear.active {
|
|
display: block;
|
|
}
|
|
|
|
.pelias-ctrl-error {
|
|
padding: 8px;
|
|
color: #d00;
|
|
font-size: 11px;
|
|
border-top: 1px solid #eee;
|
|
}
|
|
|
|
/* MapLibre Control positioning */
|
|
.maplibregl-ctrl-top-right .pelias-ctrl {
|
|
margin: 10px 10px 0 0;
|
|
}
|
|
|
|
.maplibregl-ctrl-top-left .pelias-ctrl {
|
|
margin: 10px 0 0 10px;
|
|
}
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
<div id="map"></div>
|
|
|
|
<div class="search-container">
|
|
<input type="text" class="search-input" placeholder="Search fields..." id="fieldSearch">
|
|
<div class="search-results" id="searchResults"></div>
|
|
</div>
|
|
|
|
<button class="recalculate-btn" id="recalculateBtn">Recalculate Classes (CKMeans)</button>
|
|
|
|
<div class="current-field" id="currentField">
|
|
Current field: count_total_1
|
|
</div>
|
|
|
|
<div class="classification-info" id="classificationInfo">
|
|
Classification: Loading...
|
|
</div>
|
|
|
|
<div class="legend" id="legend">
|
|
<div class="legend-title">Legend</div>
|
|
<div id="legendContent"></div>
|
|
</div>
|
|
|
|
<script>
|
|
// 2021 Census of Population characteristics
|
|
const availableFields = ['count_total_1', 'count_total_4', 'count_total_5', 'count_total_6', 'count_total_7', 'count_total_8', 'count_total_9', 'count_total_10', 'count_total_11', 'count_total_12', 'count_total_13', 'count_total_14', 'count_total_15', 'count_total_16', 'count_total_17', 'count_total_18', 'count_total_19', 'count_total_20', 'count_total_21', 'count_total_22', 'count_total_23', 'count_total_24', 'count_total_25', 'count_total_26', 'count_total_27', 'count_total_28', 'count_total_29', 'count_total_30', 'count_total_31', 'count_total_32', 'count_total_33', 'count_total_34', 'count_total_35', 'count_total_36', 'count_total_37', 'count_total_38', 'count_total_39', 'count_total_40', 'count_total_41', 'count_total_42', 'count_total_43', 'count_total_44', 'count_total_45', 'count_total_46', 'count_total_47', 'count_total_48', 'count_total_49', 'count_total_50', 'count_total_51', 'count_total_52', 'count_total_53', 'count_total_54', 'count_total_55', 'count_total_56', 'count_total_57', 'count_total_58', 'count_total_59', 'count_total_60', 'count_total_61', 'count_total_62', 'count_total_63', 'count_total_64', 'count_total_65', 'count_total_66', 'count_total_67', 'count_total_68', 'count_total_69', 'count_total_70', 'count_total_71', 'count_total_72', 'count_total_73', 'count_total_74', 'count_total_75', 'count_total_76', 'count_total_77', 'count_total_78', 'count_total_79', 'count_total_80', 'count_total_81', 'count_total_82', 'count_total_83', 'count_total_84', 'count_total_85', 'count_total_86', 'count_total_87', 'count_total_88', 'count_total_89', 'count_total_90', 'count_total_91', 'count_total_92', 'count_total_93', 'count_total_94', 'count_total_95', 'count_total_96', 'count_total_97', 'count_total_98', 'count_total_99', 'count_total_100', 'count_total_101', 'count_total_102', 'count_total_103', 'count_total_104', 'count_total_105', 'count_total_106', 'count_total_107', 'count_total_108', 'count_total_109', 'count_total_110', 'count_total_111', 'count_total_112', 'count_total_113', 'count_total_114', 'count_total_115', 'count_total_116', 'count_total_117', 'count_total_118', 'count_total_119', 'count_total_120', 'count_total_121', 'count_total_122', 'count_total_123', 'count_total_124', 'count_total_125', 'count_total_126', 'count_total_127', 'count_total_128', 'count_total_129', 'count_total_130', 'count_total_131', 'count_total_132', 'count_total_133', 'count_total_134', 'count_total_135', 'count_total_136', 'count_total_137', 'count_total_138', 'count_total_139', 'count_total_140', 'count_total_141', 'count_total_142', 'count_total_143', 'count_total_144', 'count_total_145', 'count_total_146', 'count_total_147', 'count_total_148', 'count_total_149', 'count_total_150', 'count_total_151', 'count_total_152', 'count_total_153', 'count_total_154', 'count_total_155', 'count_total_156', 'count_total_157', 'count_total_158', 'count_total_159', 'count_total_160', 'count_total_161', 'count_total_162', 'count_total_163', 'count_total_164', 'count_total_165', 'count_total_166', 'count_total_167', 'count_total_168', 'count_total_169', 'count_total_170', 'count_total_171', 'count_total_172', 'count_total_173', 'count_total_174', 'count_total_175', 'count_total_176', 'count_total_177', 'count_total_178', 'count_total_179', 'count_total_180', 'count_total_181', 'count_total_182', 'count_total_183', 'count_total_184', 'count_total_185', 'count_total_186', 'count_total_187', 'count_total_188', 'count_total_189', 'count_total_190', 'count_total_191', 'count_total_192', 'count_total_193', 'count_total_194', 'count_total_195', 'count_total_196', 'count_total_197', 'count_total_198', 'count_total_199', 'count_total_200', 'count_total_201', 'count_total_202', 'count_total_203', 'count_total_204', 'count_total_205', 'count_total_206', 'count_total_207', 'count_total_208', 'count_total_209', 'count_total_210', 'count_total_211', 'count_total_212', 'count_total_213', 'count_total_214', 'count_total_215', 'count_total_216', 'count_total_217', 'count_total_218', 'count_total_219', 'count_total_220', 'count_total_221', 'count_total_222', 'count_total_223', 'count_total_224', 'count_total_225', 'count_total_226', 'count_total_227', 'count_total_228', 'count_total_229', 'count_total_230', 'count_total_231', 'count_total_232', 'count_total_233', 'count_total_234', 'count_total_235', 'count_total_236', 'count_total_237', 'count_total_238', 'count_total_239', 'count_total_240', 'count_total_241', 'count_total_242', 'count_total_243', 'count_total_244', 'count_total_245', 'count_total_246', 'count_total_247', 'count_total_248', 'count_total_249', 'count_total_250', 'count_total_251', 'count_total_252', 'count_total_253', 'count_total_254', 'count_total_255', 'count_total_256', 'count_total_257', 'count_total_258', 'count_total_259', 'count_total_260', 'count_total_261', 'count_total_262', 'count_total_263', 'count_total_264', 'count_total_265', 'count_total_266', 'count_total_267', 'count_total_268', 'count_total_269', 'count_total_270', 'count_total_271', 'count_total_272', 'count_total_273', 'count_total_274', 'count_total_275', 'count_total_276', 'count_total_277', 'count_total_278', 'count_total_279', 'count_total_280', 'count_total_281', 'count_total_282', 'count_total_283', 'count_total_284', 'count_total_285', 'count_total_286', 'count_total_287', 'count_total_288', 'count_total_289', 'count_total_290', 'count_total_291', 'count_total_292', 'count_total_293', 'count_total_294', 'count_total_295', 'count_total_296', 'count_total_297', 'count_total_298', 'count_total_299', 'count_total_300', 'count_total_301', 'count_total_302', 'count_total_303', 'count_total_304', 'count_total_305', 'count_total_306', 'count_total_307', 'count_total_308', 'count_total_309', 'count_total_310', 'count_total_311', 'count_total_312', 'count_total_313', 'count_total_314', 'count_total_315', 'count_total_316', 'count_total_317', 'count_total_318', 'count_total_319', 'count_total_320', 'count_total_321', 'count_total_322', 'count_total_323', 'count_total_324', 'count_total_325', 'count_total_326', 'count_total_327', 'count_total_328', 'count_total_329', 'count_total_330', 'count_total_331', 'count_total_332', 'count_total_333', 'count_total_334', 'count_total_335', 'count_total_336', 'count_total_337', 'count_total_338', 'count_total_339', 'count_total_340', 'count_total_341', 'count_total_342', 'count_total_343', 'count_total_344', 'count_total_345', 'count_total_346', 'count_total_347', 'count_total_348', 'count_total_349', 'count_total_350', 'count_total_351', 'count_total_352', 'count_total_353', 'count_total_354', 'count_total_355', 'count_total_356', 'count_total_357', 'count_total_358', 'count_total_359', 'count_total_360', 'count_total_361', 'count_total_362', 'count_total_363', 'count_total_364', 'count_total_365', 'count_total_366', 'count_total_367', 'count_total_368', 'count_total_369', 'count_total_370', 'count_total_371', 'count_total_372', 'count_total_373', 'count_total_374', 'count_total_375', 'count_total_376', 'count_total_377', 'count_total_378', 'count_total_379', 'count_total_380', 'count_total_381', 'count_total_382', 'count_total_383', 'count_total_384', 'count_total_385', 'count_total_386', 'count_total_387', 'count_total_388', 'count_total_389', 'count_total_390', 'count_total_391', 'count_total_392', 'count_total_393', 'count_total_394', 'count_total_395', 'count_total_396', 'count_total_397', 'count_total_398', 'count_total_399', 'count_total_400', 'count_total_401', 'count_total_402', 'count_total_403', 'count_total_404', 'count_total_405', 'count_total_406', 'count_total_407', 'count_total_408', 'count_total_409', 'count_total_410', 'count_total_411', 'count_total_412', 'count_total_413', 'count_total_414', 'count_total_415', 'count_total_416', 'count_total_417', 'count_total_418', 'count_total_419', 'count_total_420', 'count_total_421', 'count_total_422', 'count_total_423', 'count_total_424', 'count_total_425', 'count_total_426', 'count_total_427', 'count_total_428', 'count_total_429', 'count_total_430', 'count_total_431', 'count_total_432', 'count_total_433', 'count_total_434', 'count_total_435', 'count_total_436', 'count_total_437', 'count_total_438', 'count_total_439', 'count_total_440', 'count_total_441', 'count_total_442', 'count_total_443', 'count_total_444', 'count_total_445', 'count_total_446', 'count_total_447', 'count_total_448', 'count_total_449', 'count_total_450', 'count_total_451', 'count_total_452', 'count_total_453', 'count_total_454', 'count_total_455', 'count_total_456', 'count_total_457', 'count_total_458', 'count_total_459', 'count_total_460', 'count_total_461', 'count_total_462', 'count_total_463', 'count_total_464', 'count_total_465', 'count_total_466', 'count_total_467', 'count_total_468', 'count_total_469', 'count_total_470', 'count_total_471', 'count_total_472', 'count_total_473', 'count_total_474', 'count_total_475', 'count_total_476', 'count_total_477', 'count_total_478', 'count_total_479', 'count_total_480', 'count_total_481', 'count_total_482', 'count_total_483', 'count_total_484', 'count_total_485', 'count_total_486', 'count_total_487', 'count_total_488', 'count_total_489', 'count_total_490', 'count_total_491', 'count_total_492', 'count_total_493', 'count_total_494', 'count_total_495', 'count_total_496', 'count_total_497', 'count_total_498', 'count_total_499', 'count_total_500', 'count_total_501', 'count_total_502', 'count_total_503', 'count_total_504', 'count_total_505', 'count_total_506', 'count_total_507', 'count_total_508', 'count_total_509', 'count_total_510', 'count_total_511', 'count_total_512', 'count_total_513', 'count_total_514', 'count_total_515', 'count_total_516', 'count_total_517', 'count_total_518', 'count_total_519', 'count_total_520', 'count_total_521', 'count_total_522', 'count_total_523', 'count_total_524', 'count_total_525', 'count_total_526', 'count_total_527', 'count_total_528', 'count_total_529', 'count_total_530', 'count_total_531', 'count_total_532', 'count_total_533', 'count_total_534', 'count_total_535', 'count_total_536', 'count_total_537', 'count_total_538', 'count_total_539', 'count_total_540', 'count_total_541', 'count_total_542', 'count_total_543', 'count_total_544', 'count_total_545', 'count_total_546', 'count_total_547', 'count_total_548', 'count_total_549', 'count_total_550', 'count_total_551', 'count_total_552', 'count_total_553', 'count_total_554', 'count_total_555', 'count_total_556', 'count_total_557', 'count_total_558', 'count_total_559', 'count_total_560', 'count_total_561', 'count_total_562', 'count_total_563', 'count_total_564', 'count_total_565', 'count_total_566', 'count_total_567', 'count_total_568', 'count_total_569', 'count_total_570', 'count_total_571', 'count_total_572', 'count_total_573', 'count_total_574', 'count_total_575', 'count_total_576', 'count_total_577', 'count_total_578', 'count_total_579', 'count_total_580', 'count_total_581', 'count_total_582', 'count_total_583', 'count_total_584', 'count_total_585', 'count_total_586', 'count_total_587', 'count_total_588', 'count_total_589', 'count_total_590', 'count_total_591', 'count_total_592', 'count_total_593', 'count_total_594', 'count_total_595', 'count_total_596', 'count_total_597', 'count_total_598', 'count_total_599', 'count_total_600', 'count_total_601', 'count_total_602', 'count_total_603', 'count_total_604', 'count_total_605', 'count_total_606', 'count_total_607', 'count_total_608', 'count_total_609', 'count_total_610', 'count_total_611', 'count_total_612', 'count_total_613', 'count_total_614', 'count_total_615', 'count_total_616', 'count_total_617', 'count_total_618', 'count_total_619', 'count_total_620', 'count_total_621', 'count_total_622', 'count_total_623', 'count_total_624', 'count_total_625', 'count_total_626', 'count_total_627', 'count_total_628', 'count_total_629', 'count_total_630', 'count_total_631', 'count_total_632', 'count_total_633', 'count_total_634', 'count_total_635', 'count_total_636', 'count_total_637', 'count_total_638', 'count_total_639', 'count_total_640', 'count_total_641', 'count_total_642', 'count_total_643', 'count_total_644', 'count_total_645', 'count_total_646', 'count_total_647', 'count_total_648', 'count_total_649', 'count_total_650', 'count_total_651', 'count_total_652', 'count_total_653', 'count_total_654', 'count_total_655', 'count_total_656', 'count_total_657', 'count_total_658', 'count_total_659', 'count_total_660', 'count_total_661', 'count_total_662', 'count_total_663', 'count_total_664', 'count_total_665', 'count_total_666', 'count_total_667', 'count_total_668', 'count_total_669', 'count_total_670', 'count_total_671', 'count_total_672', 'count_total_673', 'count_total_674', 'count_total_675', 'count_total_676', 'count_total_677', 'count_total_678', 'count_total_679', 'count_total_680', 'count_total_681', 'count_total_682', 'count_total_683', 'count_total_684', 'count_total_685', 'count_total_686', 'count_total_687', 'count_total_688', 'count_total_689', 'count_total_690', 'count_total_691', 'count_total_692', 'count_total_693', 'count_total_694', 'count_total_695', 'count_total_696', 'count_total_697', 'count_total_698', 'count_total_699', 'count_total_700', 'count_total_701', 'count_total_702', 'count_total_703', 'count_total_704', 'count_total_705', 'count_total_706', 'count_total_707', 'count_total_708', 'count_total_709', 'count_total_710', 'count_total_711', 'count_total_712', 'count_total_713', 'count_total_714', 'count_total_715', 'count_total_716', 'count_total_717', 'count_total_718', 'count_total_719', 'count_total_720', 'count_total_721', 'count_total_722', 'count_total_723', 'count_total_724', 'count_total_725', 'count_total_726', 'count_total_727', 'count_total_728', 'count_total_729', 'count_total_730', 'count_total_731', 'count_total_732', 'count_total_733', 'count_total_734', 'count_total_735', 'count_total_736', 'count_total_737', 'count_total_738', 'count_total_739', 'count_total_740', 'count_total_741', 'count_total_742', 'count_total_743', 'count_total_744', 'count_total_745', 'count_total_746', 'count_total_747', 'count_total_748', 'count_total_749', 'count_total_750', 'count_total_751', 'count_total_752', 'count_total_753', 'count_total_754', 'count_total_755', 'count_total_756', 'count_total_757', 'count_total_758', 'count_total_759', 'count_total_760', 'count_total_761', 'count_total_762', 'count_total_763', 'count_total_764', 'count_total_765', 'count_total_766', 'count_total_767', 'count_total_768', 'count_total_769', 'count_total_770', 'count_total_771', 'count_total_772', 'count_total_773', 'count_total_774', 'count_total_775', 'count_total_776', 'count_total_777', 'count_total_778', 'count_total_779', 'count_total_780', 'count_total_781', 'count_total_782', 'count_total_783', 'count_total_784', 'count_total_785', 'count_total_786', 'count_total_787', 'count_total_788', 'count_total_789', 'count_total_790', 'count_total_791', 'count_total_792', 'count_total_793', 'count_total_794', 'count_total_795', 'count_total_796', 'count_total_797', 'count_total_798', 'count_total_799', 'count_total_800', 'count_total_801', 'count_total_802', 'count_total_803', 'count_total_804', 'count_total_805', 'count_total_806', 'count_total_807', 'count_total_808', 'count_total_809', 'count_total_810', 'count_total_811', 'count_total_812', 'count_total_813', 'count_total_814', 'count_total_815', 'count_total_816', 'count_total_817', 'count_total_818', 'count_total_819', 'count_total_820', 'count_total_821', 'count_total_822', 'count_total_823', 'count_total_824', 'count_total_825', 'count_total_826', 'count_total_827', 'count_total_828', 'count_total_829', 'count_total_830', 'count_total_831', 'count_total_832', 'count_total_833', 'count_total_834', 'count_total_835', 'count_total_836', 'count_total_837', 'count_total_838', 'count_total_839', 'count_total_840', 'count_total_841', 'count_total_842', 'count_total_843', 'count_total_844', 'count_total_845', 'count_total_846', 'count_total_847', 'count_total_848', 'count_total_849', 'count_total_850', 'count_total_851', 'count_total_852', 'count_total_853', 'count_total_854', 'count_total_855', 'count_total_856', 'count_total_857', 'count_total_858', 'count_total_859', 'count_total_860', 'count_total_861', 'count_total_862', 'count_total_863', 'count_total_864', 'count_total_865', 'count_total_866', 'count_total_867', 'count_total_868', 'count_total_869', 'count_total_870', 'count_total_871', 'count_total_872', 'count_total_873', 'count_total_874', 'count_total_875', 'count_total_876', 'count_total_877', 'count_total_878', 'count_total_879', 'count_total_880', 'count_total_881', 'count_total_882', 'count_total_883', 'count_total_884', 'count_total_885', 'count_total_886', 'count_total_887', 'count_total_888', 'count_total_889', 'count_total_890', 'count_total_891', 'count_total_892', 'count_total_893', 'count_total_894', 'count_total_895', 'count_total_896', 'count_total_897', 'count_total_898', 'count_total_899', 'count_total_900', 'count_total_901', 'count_total_902', 'count_total_903', 'count_total_904', 'count_total_905', 'count_total_906', 'count_total_907', 'count_total_908', 'count_total_909', 'count_total_910', 'count_total_911', 'count_total_912', 'count_total_913', 'count_total_914', 'count_total_915', 'count_total_916', 'count_total_917', 'count_total_918', 'count_total_919', 'count_total_920', 'count_total_921', 'count_total_922', 'count_total_923', 'count_total_924', 'count_total_925', 'count_total_926', 'count_total_927', 'count_total_928', 'count_total_929', 'count_total_930', 'count_total_931', 'count_total_932', 'count_total_933', 'count_total_934', 'count_total_935', 'count_total_936', 'count_total_937', 'count_total_938', 'count_total_939', 'count_total_940', 'count_total_941', 'count_total_942', 'count_total_943', 'count_total_944', 'count_total_945', 'count_total_946', 'count_total_947', 'count_total_948', 'count_total_949', 'count_total_950', 'count_total_951', 'count_total_952', 'count_total_953', 'count_total_954', 'count_total_955', 'count_total_956', 'count_total_957', 'count_total_958', 'count_total_959', 'count_total_960', 'count_total_961', 'count_total_962', 'count_total_963', 'count_total_964', 'count_total_965', 'count_total_966', 'count_total_967', 'count_total_968', 'count_total_969', 'count_total_970', 'count_total_971', 'count_total_972', 'count_total_973', 'count_total_974', 'count_total_975', 'count_total_976', 'count_total_977', 'count_total_978', 'count_total_979', 'count_total_980', 'count_total_981', 'count_total_982', 'count_total_983', 'count_total_984', 'count_total_985', 'count_total_986', 'count_total_987', 'count_total_988', 'count_total_989', 'count_total_990', 'count_total_991', 'count_total_992', 'count_total_993', 'count_total_994', 'count_total_995', 'count_total_996', 'count_total_997', 'count_total_998', 'count_total_999', 'count_total_1000', 'count_total_1001', 'count_total_1002', 'count_total_1003', 'count_total_1004', 'count_total_1005', 'count_total_1006', 'count_total_1007', 'count_total_1008', 'count_total_1009', 'count_total_1010', 'count_total_1011', 'count_total_1012', 'count_total_1013', 'count_total_1014', 'count_total_1015', 'count_total_1016', 'count_total_1017', 'count_total_1018', 'count_total_1019', 'count_total_1020', 'count_total_1021', 'count_total_1022', 'count_total_1023', 'count_total_1024', 'count_total_1025', 'count_total_1026', 'count_total_1027', 'count_total_1028', 'count_total_1029', 'count_total_1030', 'count_total_1031', 'count_total_1032', 'count_total_1033', 'count_total_1034', 'count_total_1035', 'count_total_1036', 'count_total_1037', 'count_total_1038', 'count_total_1039', 'count_total_1040', 'count_total_1041', 'count_total_1042', 'count_total_1043', 'count_total_1044', 'count_total_1045', 'count_total_1046', 'count_total_1047', 'count_total_1048', 'count_total_1049', 'count_total_1050', 'count_total_1051', 'count_total_1052', 'count_total_1053', 'count_total_1054', 'count_total_1055', 'count_total_1056', 'count_total_1057', 'count_total_1058', 'count_total_1059', 'count_total_1060', 'count_total_1061', 'count_total_1062', 'count_total_1063', 'count_total_1064', 'count_total_1065', 'count_total_1066', 'count_total_1067', 'count_total_1068', 'count_total_1069', 'count_total_1070', 'count_total_1071', 'count_total_1072', 'count_total_1073', 'count_total_1074', 'count_total_1075', 'count_total_1076', 'count_total_1077', 'count_total_1078', 'count_total_1079', 'count_total_1080', 'count_total_1081', 'count_total_1082', 'count_total_1083', 'count_total_1084', 'count_total_1085', 'count_total_1086', 'count_total_1087', 'count_total_1088', 'count_total_1089', 'count_total_1090', 'count_total_1091', 'count_total_1092', 'count_total_1093', 'count_total_1094', 'count_total_1095', 'count_total_1096', 'count_total_1097', 'count_total_1098', 'count_total_1099', 'count_total_1100', 'count_total_1101', 'count_total_1102', 'count_total_1103', 'count_total_1104', 'count_total_1105', 'count_total_1106', 'count_total_1107', 'count_total_1108', 'count_total_1109', 'count_total_1110', 'count_total_1111', 'count_total_1112', 'count_total_1113', 'count_total_1114', 'count_total_1115', 'count_total_1116', 'count_total_1117', 'count_total_1118', 'count_total_1119', 'count_total_1120', 'count_total_1121', 'count_total_1122', 'count_total_1123', 'count_total_1124', 'count_total_1125', 'count_total_1126', 'count_total_1127', 'count_total_1128', 'count_total_1129', 'count_total_1130', 'count_total_1131', 'count_total_1132', 'count_total_1133', 'count_total_1134', 'count_total_1135', 'count_total_1136', 'count_total_1137', 'count_total_1138', 'count_total_1139', 'count_total_1140', 'count_total_1141', 'count_total_1142', 'count_total_1143', 'count_total_1144', 'count_total_1145', 'count_total_1146', 'count_total_1147', 'count_total_1148', 'count_total_1149', 'count_total_1150', 'count_total_1151', 'count_total_1152', 'count_total_1153', 'count_total_1154', 'count_total_1155', 'count_total_1156', 'count_total_1157', 'count_total_1158', 'count_total_1159', 'count_total_1160', 'count_total_1161', 'count_total_1162', 'count_total_1163', 'count_total_1164', 'count_total_1165', 'count_total_1166', 'count_total_1167', 'count_total_1168', 'count_total_1169', 'count_total_1170', 'count_total_1171', 'count_total_1172', 'count_total_1173', 'count_total_1174', 'count_total_1175', 'count_total_1176', 'count_total_1177', 'count_total_1178', 'count_total_1179', 'count_total_1180', 'count_total_1181', 'count_total_1182', 'count_total_1183', 'count_total_1184', 'count_total_1185', 'count_total_1186', 'count_total_1187', 'count_total_1188', 'count_total_1189', 'count_total_1190', 'count_total_1191', 'count_total_1192', 'count_total_1193', 'count_total_1194', 'count_total_1195', 'count_total_1196', 'count_total_1197', 'count_total_1198', 'count_total_1199', 'count_total_1200', 'count_total_1201', 'count_total_1202', 'count_total_1203', 'count_total_1204', 'count_total_1205', 'count_total_1206', 'count_total_1207', 'count_total_1208', 'count_total_1209', 'count_total_1210', 'count_total_1211', 'count_total_1212', 'count_total_1213', 'count_total_1214', 'count_total_1215', 'count_total_1216', 'count_total_1217', 'count_total_1218', 'count_total_1219', 'count_total_1220', 'count_total_1221', 'count_total_1222', 'count_total_1223', 'count_total_1224', 'count_total_1225', 'count_total_1226', 'count_total_1227', 'count_total_1228', 'count_total_1229', 'count_total_1230', 'count_total_1231', 'count_total_1232', 'count_total_1233', 'count_total_1234', 'count_total_1235', 'count_total_1236', 'count_total_1237', 'count_total_1238', 'count_total_1239', 'count_total_1240', 'count_total_1241', 'count_total_1242', 'count_total_1243', 'count_total_1244', 'count_total_1245', 'count_total_1246', 'count_total_1247', 'count_total_1248', 'count_total_1249', 'count_total_1250', 'count_total_1251', 'count_total_1252', 'count_total_1253', 'count_total_1254', 'count_total_1255', 'count_total_1256', 'count_total_1257', 'count_total_1258', 'count_total_1259', 'count_total_1260', 'count_total_1261', 'count_total_1262', 'count_total_1263', 'count_total_1264', 'count_total_1265', 'count_total_1266', 'count_total_1267', 'count_total_1268', 'count_total_1269', 'count_total_1270', 'count_total_1271', 'count_total_1272', 'count_total_1273', 'count_total_1274', 'count_total_1275', 'count_total_1276', 'count_total_1277', 'count_total_1278', 'count_total_1279', 'count_total_1280', 'count_total_1281', 'count_total_1282', 'count_total_1283', 'count_total_1284', 'count_total_1285', 'count_total_1286', 'count_total_1287', 'count_total_1288', 'count_total_1289', 'count_total_1290', 'count_total_1291', 'count_total_1292', 'count_total_1293', 'count_total_1294', 'count_total_1295', 'count_total_1296', 'count_total_1297', 'count_total_1298', 'count_total_1299', 'count_total_1300', 'count_total_1301', 'count_total_1302', 'count_total_1303', 'count_total_1304', 'count_total_1305', 'count_total_1306', 'count_total_1307', 'count_total_1308', 'count_total_1309', 'count_total_1310', 'count_total_1311', 'count_total_1312', 'count_total_1313', 'count_total_1314', 'count_total_1315', 'count_total_1316', 'count_total_1317', 'count_total_1318', 'count_total_1319', 'count_total_1320', 'count_total_1321', 'count_total_1322', 'count_total_1323', 'count_total_1324', 'count_total_1325', 'count_total_1326', 'count_total_1327', 'count_total_1328', 'count_total_1329', 'count_total_1330', 'count_total_1331', 'count_total_1332', 'count_total_1333', 'count_total_1334', 'count_total_1335', 'count_total_1336', 'count_total_1337', 'count_total_1338', 'count_total_1339', 'count_total_1340', 'count_total_1341', 'count_total_1342', 'count_total_1343', 'count_total_1344', 'count_total_1345', 'count_total_1346', 'count_total_1347', 'count_total_1348', 'count_total_1349', 'count_total_1350', 'count_total_1351', 'count_total_1352', 'count_total_1353', 'count_total_1354', 'count_total_1355', 'count_total_1356', 'count_total_1357', 'count_total_1358', 'count_total_1359', 'count_total_1360', 'count_total_1361', 'count_total_1362', 'count_total_1363', 'count_total_1364', 'count_total_1365', 'count_total_1366', 'count_total_1367', 'count_total_1368', 'count_total_1369', 'count_total_1370', 'count_total_1371', 'count_total_1372', 'count_total_1373', 'count_total_1374', 'count_total_1375', 'count_total_1376', 'count_total_1377', 'count_total_1378', 'count_total_1379', 'count_total_1380', 'count_total_1381', 'count_total_1382', 'count_total_1383', 'count_total_1384', 'count_total_1385', 'count_total_1386', 'count_total_1387', 'count_total_1388', 'count_total_1389', 'count_total_1390', 'count_total_1391', 'count_total_1392', 'count_total_1393', 'count_total_1394', 'count_total_1395', 'count_total_1396', 'count_total_1397', 'count_total_1398', 'count_total_1399', 'count_total_1400', 'count_total_1401', 'count_total_1402', 'count_total_1403', 'count_total_1404', 'count_total_1405', 'count_total_1406', 'count_total_1407', 'count_total_1408', 'count_total_1409', 'count_total_1410', 'count_total_1411', 'count_total_1412', 'count_total_1413', 'count_total_1414', 'count_total_1415', 'count_total_1416', 'count_total_1417', 'count_total_1418', 'count_total_1419', 'count_total_1420', 'count_total_1421', 'count_total_1422', 'count_total_1423', 'count_total_1424', 'count_total_1425', 'count_total_1426', 'count_total_1427', 'count_total_1428', 'count_total_1429', 'count_total_1430', 'count_total_1431', 'count_total_1432', 'count_total_1433', 'count_total_1434', 'count_total_1435', 'count_total_1436', 'count_total_1437', 'count_total_1438', 'count_total_1439', 'count_total_1440', 'count_total_1441', 'count_total_1442', 'count_total_1443', 'count_total_1444', 'count_total_1445', 'count_total_1446', 'count_total_1447', 'count_total_1448', 'count_total_1449', 'count_total_1450', 'count_total_1451', 'count_total_1452', 'count_total_1453', 'count_total_1454', 'count_total_1455', 'count_total_1456', 'count_total_1457', 'count_total_1458', 'count_total_1459', 'count_total_1460', 'count_total_1461', 'count_total_1462', 'count_total_1463', 'count_total_1464', 'count_total_1465', 'count_total_1466', 'count_total_1467', 'count_total_1468', 'count_total_1469', 'count_total_1470', 'count_total_1471', 'count_total_1472', 'count_total_1473', 'count_total_1474', 'count_total_1475', 'count_total_1476', 'count_total_1477', 'count_total_1478', 'count_total_1479', 'count_total_1480', 'count_total_1481', 'count_total_1482', 'count_total_1483', 'count_total_1484', 'count_total_1485', 'count_total_1486', 'count_total_1487', 'count_total_1488', 'count_total_1489', 'count_total_1490', 'count_total_1491', 'count_total_1492', 'count_total_1493', 'count_total_1494', 'count_total_1495', 'count_total_1496', 'count_total_1497', 'count_total_1498', 'count_total_1499', 'count_total_1500', 'count_total_1501', 'count_total_1502', 'count_total_1503', 'count_total_1504', 'count_total_1505', 'count_total_1506', 'count_total_1507', 'count_total_1508', 'count_total_1509', 'count_total_1510', 'count_total_1511', 'count_total_1512', 'count_total_1513', 'count_total_1514', 'count_total_1515', 'count_total_1516', 'count_total_1517', 'count_total_1518', 'count_total_1519', 'count_total_1520', 'count_total_1521', 'count_total_1522', 'count_total_1523', 'count_total_1524', 'count_total_1525', 'count_total_1526', 'count_total_1527', 'count_total_1528', 'count_total_1529', 'count_total_1530', 'count_total_1531', 'count_total_1532', 'count_total_1533', 'count_total_1534', 'count_total_1535', 'count_total_1536', 'count_total_1537', 'count_total_1538', 'count_total_1539', 'count_total_1540', 'count_total_1541', 'count_total_1542', 'count_total_1543', 'count_total_1544', 'count_total_1545', 'count_total_1546', 'count_total_1547', 'count_total_1548', 'count_total_1549', 'count_total_1550', 'count_total_1551', 'count_total_1552', 'count_total_1553', 'count_total_1554', 'count_total_1555', 'count_total_1556', 'count_total_1557', 'count_total_1558', 'count_total_1559', 'count_total_1560', 'count_total_1561', 'count_total_1562', 'count_total_1563', 'count_total_1564', 'count_total_1565', 'count_total_1566', 'count_total_1567', 'count_total_1568', 'count_total_1569', 'count_total_1570', 'count_total_1571', 'count_total_1572', 'count_total_1573', 'count_total_1574', 'count_total_1575', 'count_total_1576', 'count_total_1577', 'count_total_1578', 'count_total_1579', 'count_total_1580', 'count_total_1581', 'count_total_1582', 'count_total_1583', 'count_total_1584', 'count_total_1585', 'count_total_1586', 'count_total_1587', 'count_total_1588', 'count_total_1589', 'count_total_1590', 'count_total_1591', 'count_total_1592', 'count_total_1593', 'count_total_1594', 'count_total_1595', 'count_total_1596', 'count_total_1597', 'count_total_1598', 'count_total_1599', 'count_total_1600', 'count_total_1601', 'count_total_1602', 'count_total_1603', 'count_total_1604', 'count_total_1605', 'count_total_1606', 'count_total_1607', 'count_total_1608', 'count_total_1609', 'count_total_1610', 'count_total_1611', 'count_total_1612', 'count_total_1613', 'count_total_1614', 'count_total_1615', 'count_total_1616', 'count_total_1617', 'count_total_1618', 'count_total_1619', 'count_total_1620', 'count_total_1621', 'count_total_1622', 'count_total_1623', 'count_total_1624', 'count_total_1625', 'count_total_1626', 'count_total_1627', 'count_total_1628', 'count_total_1629', 'count_total_1630', 'count_total_1631', 'count_total_1632', 'count_total_1633', 'count_total_1634', 'count_total_1635', 'count_total_1636', 'count_total_1637', 'count_total_1638', 'count_total_1639', 'count_total_1640', 'count_total_1641', 'count_total_1642', 'count_total_1643', 'count_total_1644', 'count_total_1645', 'count_total_1646', 'count_total_1647', 'count_total_1648', 'count_total_1649', 'count_total_1650', 'count_total_1651', 'count_total_1652', 'count_total_1653', 'count_total_1654', 'count_total_1655', 'count_total_1656', 'count_total_1657', 'count_total_1658', 'count_total_1659', 'count_total_1660', 'count_total_1661', 'count_total_1662', 'count_total_1663', 'count_total_1664', 'count_total_1665', 'count_total_1666', 'count_total_1667', 'count_total_1668', 'count_total_1669', 'count_total_1670', 'count_total_1671', 'count_total_1672', 'count_total_1673', 'count_total_1674', 'count_total_1675', 'count_total_1676', 'count_total_1677', 'count_total_1678', 'count_total_1679', 'count_total_1680', 'count_total_1681', 'count_total_1682', 'count_total_1683', 'count_total_1684', 'count_total_1685', 'count_total_1686', 'count_total_1687', 'count_total_1688', 'count_total_1689', 'count_total_1690', 'count_total_1691', 'count_total_1692', 'count_total_1693', 'count_total_1694', 'count_total_1695', 'count_total_1696', 'count_total_1697', 'count_total_1698', 'count_total_1699', 'count_total_1700', 'count_total_1701', 'count_total_1702', 'count_total_1703', 'count_total_1704', 'count_total_1705', 'count_total_1706', 'count_total_1707', 'count_total_1708', 'count_total_1709', 'count_total_1710', 'count_total_1711', 'count_total_1712', 'count_total_1713', 'count_total_1714', 'count_total_1715', 'count_total_1716', 'count_total_1717', 'count_total_1718', 'count_total_1719', 'count_total_1720', 'count_total_1721', 'count_total_1722', 'count_total_1723', 'count_total_1724', 'count_total_1725', 'count_total_1726', 'count_total_1727', 'count_total_1728', 'count_total_1729', 'count_total_1730', 'count_total_1731', 'count_total_1732', 'count_total_1733', 'count_total_1734', 'count_total_1735', 'count_total_1736', 'count_total_1737', 'count_total_1738', 'count_total_1739', 'count_total_1740', 'count_total_1741', 'count_total_1742', 'count_total_1743', 'count_total_1744', 'count_total_1745', 'count_total_1746', 'count_total_1747', 'count_total_1748', 'count_total_1749', 'count_total_1750', 'count_total_1751', 'count_total_1752', 'count_total_1753', 'count_total_1754', 'count_total_1755', 'count_total_1756', 'count_total_1757', 'count_total_1758', 'count_total_1759', 'count_total_1760', 'count_total_1761', 'count_total_1762', 'count_total_1763', 'count_total_1764', 'count_total_1765', 'count_total_1766', 'count_total_1767', 'count_total_1768', 'count_total_1769', 'count_total_1770', 'count_total_1771', 'count_total_1772', 'count_total_1773', 'count_total_1774', 'count_total_1775', 'count_total_1776', 'count_total_1777', 'count_total_1778', 'count_total_1779', 'count_total_1780', 'count_total_1781', 'count_total_1782', 'count_total_1783', 'count_total_1784', 'count_total_1785', 'count_total_1786', 'count_total_1787', 'count_total_1788', 'count_total_1789', 'count_total_1790', 'count_total_1791', 'count_total_1792', 'count_total_1793', 'count_total_1794', 'count_total_1795', 'count_total_1796', 'count_total_1797', 'count_total_1798', 'count_total_1799', 'count_total_1800', 'count_total_1801', 'count_total_1802', 'count_total_1803', 'count_total_1804', 'count_total_1805', 'count_total_1806', 'count_total_1807', 'count_total_1808', 'count_total_1809', 'count_total_1810', 'count_total_1811', 'count_total_1812', 'count_total_1813', 'count_total_1814', 'count_total_1815', 'count_total_1816', 'count_total_1817', 'count_total_1818', 'count_total_1819', 'count_total_1820', 'count_total_1821', 'count_total_1822', 'count_total_1823', 'count_total_1824', 'count_total_1825', 'count_total_1826', 'count_total_1827', 'count_total_1828', 'count_total_1829', 'count_total_1830', 'count_total_1831', 'count_total_1832', 'count_total_1833', 'count_total_1834', 'count_total_1835', 'count_total_1836', 'count_total_1837', 'count_total_1838', 'count_total_1839', 'count_total_1840', 'count_total_1841', 'count_total_1842', 'count_total_1843', 'count_total_1844', 'count_total_1845', 'count_total_1846', 'count_total_1847', 'count_total_1848', 'count_total_1849', 'count_total_1850', 'count_total_1851', 'count_total_1852', 'count_total_1853', 'count_total_1854', 'count_total_1855', 'count_total_1856', 'count_total_1857', 'count_total_1858', 'count_total_1859', 'count_total_1860', 'count_total_1861', 'count_total_1862', 'count_total_1863', 'count_total_1864', 'count_total_1865', 'count_total_1866', 'count_total_1867', 'count_total_1868', 'count_total_1869', 'count_total_1870', 'count_total_1871', 'count_total_1872', 'count_total_1873', 'count_total_1874', 'count_total_1875', 'count_total_1876', 'count_total_1877', 'count_total_1878', 'count_total_1879', 'count_total_1880', 'count_total_1881', 'count_total_1882', 'count_total_1883', 'count_total_1884', 'count_total_1885', 'count_total_1886', 'count_total_1887', 'count_total_1888', 'count_total_1889', 'count_total_1890', 'count_total_1891', 'count_total_1892', 'count_total_1893', 'count_total_1894', 'count_total_1895', 'count_total_1896', 'count_total_1897', 'count_total_1898', 'count_total_1899', 'count_total_1900', 'count_total_1901', 'count_total_1902', 'count_total_1903', 'count_total_1904', 'count_total_1905', 'count_total_1906', 'count_total_1907', 'count_total_1908', 'count_total_1909', 'count_total_1910', 'count_total_1911', 'count_total_1912', 'count_total_1913', 'count_total_1914', 'count_total_1915', 'count_total_1916', 'count_total_1917', 'count_total_1918', 'count_total_1919', 'count_total_1920', 'count_total_1921', 'count_total_1922', 'count_total_1923', 'count_total_1924', 'count_total_1925', 'count_total_1926', 'count_total_1927', 'count_total_1928', 'count_total_1929', 'count_total_1930', 'count_total_1931', 'count_total_1932', 'count_total_1933', 'count_total_1934', 'count_total_1935', 'count_total_1936', 'count_total_1937', 'count_total_1938', 'count_total_1939', 'count_total_1940', 'count_total_1941', 'count_total_1942', 'count_total_1943', 'count_total_1944', 'count_total_1945', 'count_total_1946', 'count_total_1947', 'count_total_1948', 'count_total_1949', 'count_total_1950', 'count_total_1951', 'count_total_1952', 'count_total_1953', 'count_total_1954', 'count_total_1955', 'count_total_1956', 'count_total_1957', 'count_total_1958', 'count_total_1959', 'count_total_1960', 'count_total_1961', 'count_total_1962', 'count_total_1963', 'count_total_1964', 'count_total_1965', 'count_total_1966', 'count_total_1967', 'count_total_1968', 'count_total_1969', 'count_total_1970', 'count_total_1971', 'count_total_1972', 'count_total_1973', 'count_total_1974', 'count_total_1975', 'count_total_1976', 'count_total_1977', 'count_total_1978', 'count_total_1979', 'count_total_1980', 'count_total_1981', 'count_total_1982', 'count_total_1983', 'count_total_1984', 'count_total_1985', 'count_total_1986', 'count_total_1987', 'count_total_1988', 'count_total_1989', 'count_total_1990', 'count_total_1991', 'count_total_1992', 'count_total_1993', 'count_total_1994', 'count_total_1995', 'count_total_1996', 'count_total_1997', 'count_total_1998', 'count_total_1999', 'count_total_2000', 'count_total_2001', 'count_total_2002', 'count_total_2003', 'count_total_2004', 'count_total_2005', 'count_total_2006', 'count_total_2007', 'count_total_2008', 'count_total_2009', 'count_total_2010', 'count_total_2011', 'count_total_2012', 'count_total_2013', 'count_total_2014', 'count_total_2015', 'count_total_2016', 'count_total_2017', 'count_total_2018', 'count_total_2019', 'count_total_2020', 'count_total_2021', 'count_total_2022', 'count_total_2023', 'count_total_2024', 'count_total_2025', 'count_total_2026', 'count_total_2027', 'count_total_2028', 'count_total_2029', 'count_total_2030', 'count_total_2031', 'count_total_2032', 'count_total_2033', 'count_total_2034', 'count_total_2035', 'count_total_2036', 'count_total_2037', 'count_total_2038', 'count_total_2039', 'count_total_2040', 'count_total_2041', 'count_total_2042', 'count_total_2043', 'count_total_2044', 'count_total_2045', 'count_total_2046', 'count_total_2047', 'count_total_2048', 'count_total_2049', 'count_total_2050', 'count_total_2051', 'count_total_2052', 'count_total_2053', 'count_total_2054', 'count_total_2055', 'count_total_2056', 'count_total_2057', 'count_total_2058', 'count_total_2059', 'count_total_2060', 'count_total_2061', 'count_total_2062', 'count_total_2063', 'count_total_2064', 'count_total_2065', 'count_total_2066', 'count_total_2067', 'count_total_2068', 'count_total_2069', 'count_total_2070', 'count_total_2071', 'count_total_2072', 'count_total_2073', 'count_total_2074', 'count_total_2075', 'count_total_2076', 'count_total_2077', 'count_total_2078', 'count_total_2079', 'count_total_2080', 'count_total_2081', 'count_total_2082', 'count_total_2083', 'count_total_2084', 'count_total_2085', 'count_total_2086', 'count_total_2087', 'count_total_2088', 'count_total_2089', 'count_total_2090', 'count_total_2091', 'count_total_2092', 'count_total_2093', 'count_total_2094', 'count_total_2095', 'count_total_2096', 'count_total_2097', 'count_total_2098', 'count_total_2099', 'count_total_2100', 'count_total_2101', 'count_total_2102', 'count_total_2103', 'count_total_2104', 'count_total_2105', 'count_total_2106', 'count_total_2107', 'count_total_2108', 'count_total_2109', 'count_total_2110', 'count_total_2111', 'count_total_2112', 'count_total_2113', 'count_total_2114', 'count_total_2115', 'count_total_2116', 'count_total_2117', 'count_total_2118', 'count_total_2119', 'count_total_2120', 'count_total_2121', 'count_total_2122', 'count_total_2123', 'count_total_2124', 'count_total_2125', 'count_total_2126', 'count_total_2127', 'count_total_2128', 'count_total_2129', 'count_total_2130', 'count_total_2131', 'count_total_2132', 'count_total_2133', 'count_total_2134', 'count_total_2135', 'count_total_2136', 'count_total_2137', 'count_total_2138', 'count_total_2139', 'count_total_2140', 'count_total_2141', 'count_total_2142', 'count_total_2143', 'count_total_2144', 'count_total_2145', 'count_total_2146', 'count_total_2147', 'count_total_2148', 'count_total_2149', 'count_total_2150', 'count_total_2151', 'count_total_2152', 'count_total_2153', 'count_total_2154', 'count_total_2155', 'count_total_2156', 'count_total_2157', 'count_total_2158', 'count_total_2159', 'count_total_2160', 'count_total_2161', 'count_total_2162', 'count_total_2163', 'count_total_2164', 'count_total_2165', 'count_total_2166', 'count_total_2167', 'count_total_2168', 'count_total_2169', 'count_total_2170', 'count_total_2171', 'count_total_2172', 'count_total_2173', 'count_total_2174', 'count_total_2175', 'count_total_2176', 'count_total_2177', 'count_total_2178', 'count_total_2179', 'count_total_2180', 'count_total_2181', 'count_total_2182', 'count_total_2183', 'count_total_2184', 'count_total_2185', 'count_total_2186', 'count_total_2187', 'count_total_2188', 'count_total_2189', 'count_total_2190', 'count_total_2191', 'count_total_2192', 'count_total_2193', 'count_total_2194', 'count_total_2195', 'count_total_2196', 'count_total_2197', 'count_total_2198', 'count_total_2199', 'count_total_2200', 'count_total_2201', 'count_total_2202', 'count_total_2203', 'count_total_2204', 'count_total_2205', 'count_total_2206', 'count_total_2207', 'count_total_2208', 'count_total_2209', 'count_total_2210', 'count_total_2211', 'count_total_2212', 'count_total_2213', 'count_total_2214', 'count_total_2215', 'count_total_2216', 'count_total_2217', 'count_total_2218', 'count_total_2219', 'count_total_2220', 'count_total_2221', 'count_total_2222', 'count_total_2223', 'count_total_2224', 'count_total_2225', 'count_total_2226', 'count_total_2227', 'count_total_2228', 'count_total_2229', 'count_total_2230', 'count_total_2231', 'count_total_2232', 'count_total_2233', 'count_total_2234', 'count_total_2235', 'count_total_2236', 'count_total_2237', 'count_total_2238', 'count_total_2239', 'count_total_2240', 'count_total_2241', 'count_total_2242', 'count_total_2243', 'count_total_2244', 'count_total_2245', 'count_total_2246', 'count_total_2247', 'count_total_2248', 'count_total_2249', 'count_total_2250', 'count_total_2251', 'count_total_2252', 'count_total_2253', 'count_total_2254', 'count_total_2255', 'count_total_2256', 'count_total_2257', 'count_total_2258', 'count_total_2259', 'count_total_2260', 'count_total_2261', 'count_total_2262', 'count_total_2263', 'count_total_2264', 'count_total_2265', 'count_total_2266', 'count_total_2267', 'count_total_2268', 'count_total_2269', 'count_total_2270', 'count_total_2271', 'count_total_2272', 'count_total_2273', 'count_total_2274', 'count_total_2275', 'count_total_2276', 'count_total_2277', 'count_total_2278', 'count_total_2279', 'count_total_2280', 'count_total_2281', 'count_total_2282', 'count_total_2283', 'count_total_2284', 'count_total_2285', 'count_total_2286', 'count_total_2287', 'count_total_2288', 'count_total_2289', 'count_total_2290', 'count_total_2291', 'count_total_2292', 'count_total_2293', 'count_total_2294', 'count_total_2295', 'count_total_2296', 'count_total_2297', 'count_total_2298', 'count_total_2299', 'count_total_2300', 'count_total_2301', 'count_total_2302', 'count_total_2303', 'count_total_2304', 'count_total_2305', 'count_total_2306', 'count_total_2307', 'count_total_2308', 'count_total_2309', 'count_total_2310', 'count_total_2311', 'count_total_2312', 'count_total_2313', 'count_total_2314', 'count_total_2315', 'count_total_2316', 'count_total_2317', 'count_total_2318', 'count_total_2319', 'count_total_2320', 'count_total_2321', 'count_total_2322', 'count_total_2323', 'count_total_2324', 'count_total_2325', 'count_total_2326', 'count_total_2327', 'count_total_2328', 'count_total_2329', 'count_total_2330', 'count_total_2331', 'count_total_2332', 'count_total_2333', 'count_total_2334', 'count_total_2335', 'count_total_2336', 'count_total_2337', 'count_total_2338', 'count_total_2339', 'count_total_2340', 'count_total_2341', 'count_total_2342', 'count_total_2343', 'count_total_2344', 'count_total_2345', 'count_total_2346', 'count_total_2347', 'count_total_2348', 'count_total_2349', 'count_total_2350', 'count_total_2351', 'count_total_2352', 'count_total_2353', 'count_total_2354', 'count_total_2355', 'count_total_2356', 'count_total_2357', 'count_total_2358', 'count_total_2359', 'count_total_2360', 'count_total_2361', 'count_total_2362', 'count_total_2363', 'count_total_2364', 'count_total_2365', 'count_total_2366', 'count_total_2367', 'count_total_2368', 'count_total_2369', 'count_total_2370', 'count_total_2371', 'count_total_2372', 'count_total_2373', 'count_total_2374', 'count_total_2375', 'count_total_2376', 'count_total_2377', 'count_total_2378', 'count_total_2379', 'count_total_2380', 'count_total_2381', 'count_total_2382', 'count_total_2383', 'count_total_2384', 'count_total_2385', 'count_total_2386', 'count_total_2387', 'count_total_2388', 'count_total_2389', 'count_total_2390', 'count_total_2391', 'count_total_2392', 'count_total_2393', 'count_total_2394', 'count_total_2395', 'count_total_2396', 'count_total_2397', 'count_total_2398', 'count_total_2399', 'count_total_2400', 'count_total_2401', 'count_total_2402', 'count_total_2403', 'count_total_2404', 'count_total_2405', 'count_total_2406', 'count_total_2407', 'count_total_2408', 'count_total_2409', 'count_total_2410', 'count_total_2411', 'count_total_2412', 'count_total_2413', 'count_total_2414', 'count_total_2415', 'count_total_2416', 'count_total_2417', 'count_total_2418', 'count_total_2419', 'count_total_2420', 'count_total_2421', 'count_total_2422', 'count_total_2423', 'count_total_2424', 'count_total_2425', 'count_total_2426', 'count_total_2427', 'count_total_2428', 'count_total_2429', 'count_total_2430', 'count_total_2431', 'count_total_2432', 'count_total_2433', 'count_total_2434', 'count_total_2435', 'count_total_2436', 'count_total_2437', 'count_total_2438', 'count_total_2439', 'count_total_2440', 'count_total_2441', 'count_total_2442', 'count_total_2443', 'count_total_2444', 'count_total_2445', 'count_total_2446', 'count_total_2447', 'count_total_2448', 'count_total_2449', 'count_total_2450', 'count_total_2451', 'count_total_2452', 'count_total_2453', 'count_total_2454', 'count_total_2455', 'count_total_2456', 'count_total_2457', 'count_total_2458', 'count_total_2459', 'count_total_2460', 'count_total_2461', 'count_total_2462', 'count_total_2463', 'count_total_2464', 'count_total_2465', 'count_total_2466', 'count_total_2467', 'count_total_2468', 'count_total_2469', 'count_total_2470', 'count_total_2471', 'count_total_2472', 'count_total_2473', 'count_total_2474', 'count_total_2475', 'count_total_2476', 'count_total_2477', 'count_total_2478', 'count_total_2479', 'count_total_2480', 'count_total_2481', 'count_total_2482', 'count_total_2483', 'count_total_2484', 'count_total_2485', 'count_total_2486', 'count_total_2487', 'count_total_2488', 'count_total_2489', 'count_total_2490', 'count_total_2491', 'count_total_2492', 'count_total_2493', 'count_total_2494', 'count_total_2495', 'count_total_2496', 'count_total_2497', 'count_total_2498', 'count_total_2499', 'count_total_2500', 'count_total_2501', 'count_total_2502', 'count_total_2503', 'count_total_2504', 'count_total_2505', 'count_total_2506', 'count_total_2507', 'count_total_2508', 'count_total_2509', 'count_total_2510', 'count_total_2511', 'count_total_2512', 'count_total_2513', 'count_total_2514', 'count_total_2515', 'count_total_2516', 'count_total_2517', 'count_total_2518', 'count_total_2519', 'count_total_2520', 'count_total_2521', 'count_total_2522', 'count_total_2523', 'count_total_2524', 'count_total_2525', 'count_total_2526', 'count_total_2527', 'count_total_2528', 'count_total_2529', 'count_total_2530', 'count_total_2531', 'count_total_2532', 'count_total_2533', 'count_total_2534', 'count_total_2535', 'count_total_2536', 'count_total_2537', 'count_total_2538', 'count_total_2539', 'count_total_2540', 'count_total_2541', 'count_total_2542', 'count_total_2543', 'count_total_2544', 'count_total_2545', 'count_total_2546', 'count_total_2547', 'count_total_2548', 'count_total_2549', 'count_total_2550', 'count_total_2551', 'count_total_2552', 'count_total_2553', 'count_total_2554', 'count_total_2555', 'count_total_2556', 'count_total_2557', 'count_total_2558', 'count_total_2559', 'count_total_2560', 'count_total_2561', 'count_total_2562', 'count_total_2563', 'count_total_2564', 'count_total_2565', 'count_total_2566', 'count_total_2567', 'count_total_2568', 'count_total_2569', 'count_total_2570', 'count_total_2571', 'count_total_2572', 'count_total_2573', 'count_total_2574', 'count_total_2575', 'count_total_2576', 'count_total_2577', 'count_total_2578', 'count_total_2579', 'count_total_2580', 'count_total_2581', 'count_total_2582', 'count_total_2583', 'count_total_2584', 'count_total_2585', 'count_total_2586', 'count_total_2587', 'count_total_2588', 'count_total_2589', 'count_total_2590', 'count_total_2591', 'count_total_2592', 'count_total_2593', 'count_total_2594', 'count_total_2595', 'count_total_2596', 'count_total_2597', 'count_total_2598', 'count_total_2599', 'count_total_2600', 'count_total_2601', 'count_total_2602', 'count_total_2603', 'count_total_2604', 'count_total_2605', 'count_total_2606', 'count_total_2607', 'count_total_2608', 'count_total_2609', 'count_total_2610', 'count_total_2611', 'count_total_2612', 'count_total_2613', 'count_total_2614', 'count_total_2615', 'count_total_2616', 'count_total_2617', 'count_total_2618', 'count_total_2619', 'count_total_2620', 'count_total_2621', 'count_total_2622', 'count_total_2623', 'count_total_2624', 'count_total_2625', 'count_total_2626', 'count_total_2627', 'count_total_2628', 'count_total_2629', 'count_total_2630', 'count_total_2631', 'count_men_8', 'count_men_9', 'count_men_10', 'count_men_11', 'count_men_12', 'count_men_13', 'count_men_14', 'count_men_15', 'count_men_16', 'count_men_17', 'count_men_18', 'count_men_19', 'count_men_20', 'count_men_21', 'count_men_22', 'count_men_23', 'count_men_24', 'count_men_25', 'count_men_26', 'count_men_27', 'count_men_28', 'count_men_29', 'count_men_30', 'count_men_31', 'count_men_32', 'count_men_33', 'count_men_34', 'count_men_35', 'count_men_36', 'count_men_37', 'count_men_38', 'count_men_39', 'count_men_40', 'count_men_56', 'count_men_58', 'count_men_59', 'count_men_60', 'count_men_61', 'count_men_62', 'count_men_63', 'count_men_64', 'count_men_65', 'count_men_66', 'count_men_67', 'count_men_68', 'count_men_69', 'count_men_70', 'count_men_89', 'count_men_90', 'count_men_91', 'count_men_92', 'count_men_93', 'count_men_94', 'count_men_95', 'count_men_96', 'count_men_97', 'count_men_98', 'count_men_99', 'count_men_111', 'count_men_112', 'count_men_113', 'count_men_114', 'count_men_115', 'count_men_116', 'count_men_117', 'count_men_118', 'count_men_119', 'count_men_120', 'count_men_121', 'count_men_122', 'count_men_123', 'count_men_124', 'count_men_125', 'count_men_126', 'count_men_127', 'count_men_128', 'count_men_129', 'count_men_130', 'count_men_131', 'count_men_132', 'count_men_133', 'count_men_134', 'count_men_135', 'count_men_136', 'count_men_137', 'count_men_138', 'count_men_139', 'count_men_140', 'count_men_141', 'count_men_142', 'count_men_143', 'count_men_144', 'count_men_145', 'count_men_146', 'count_men_147', 'count_men_148', 'count_men_149', 'count_men_150', 'count_men_151', 'count_men_152', 'count_men_153', 'count_men_154', 'count_men_155', 'count_men_156', 'count_men_157', 'count_men_158', 'count_men_159', 'count_men_160', 'count_men_161', 'count_men_162', 'count_men_163', 'count_men_164', 'count_men_165', 'count_men_166', 'count_men_167', 'count_men_168', 'count_men_169', 'count_men_170', 'count_men_171', 'count_men_172', 'count_men_173', 'count_men_174', 'count_men_175', 'count_men_176', 'count_men_177', 'count_men_178', 'count_men_179', 'count_men_180', 'count_men_181', 'count_men_182', 'count_men_183', 'count_men_184', 'count_men_185', 'count_men_186', 'count_men_187', 'count_men_188', 'count_men_189', 'count_men_190', 'count_men_191', 'count_men_192', 'count_men_193', 'count_men_194', 'count_men_195', 'count_men_196', 'count_men_197', 'count_men_198', 'count_men_199', 'count_men_200', 'count_men_201', 'count_men_202', 'count_men_203', 'count_men_204', 'count_men_205', 'count_men_206', 'count_men_207', 'count_men_208', 'count_men_209', 'count_men_210', 'count_men_211', 'count_men_212', 'count_men_213', 'count_men_214', 'count_men_215', 'count_men_216', 'count_men_217', 'count_men_218', 'count_men_219', 'count_men_220', 'count_men_221', 'count_men_222', 'count_men_223', 'count_men_224', 'count_men_225', 'count_men_226', 'count_men_227', 'count_men_228', 'count_men_229', 'count_men_230', 'count_men_231', 'count_men_232', 'count_men_233', 'count_men_234', 'count_men_235', 'count_men_236', 'count_men_237', 'count_men_238', 'count_men_239', 'count_men_240', 'count_men_241', 'count_men_317', 'count_men_318', 'count_men_319', 'count_men_332', 'count_men_333', 'count_men_334', 'count_men_335', 'count_men_336', 'count_men_337', 'count_men_338', 'count_men_339', 'count_men_340', 'count_men_341', 'count_men_342', 'count_men_343', 'count_men_344', 'count_men_345', 'count_men_346', 'count_men_347', 'count_men_348', 'count_men_349', 'count_men_350', 'count_men_351', 'count_men_352', 'count_men_353', 'count_men_354', 'count_men_355', 'count_men_356', 'count_men_357', 'count_men_358', 'count_men_359', 'count_men_360', 'count_men_361', 'count_men_362', 'count_men_363', 'count_men_364', 'count_men_365', 'count_men_366', 'count_men_367', 'count_men_368', 'count_men_369', 'count_men_370', 'count_men_371', 'count_men_372', 'count_men_373', 'count_men_374', 'count_men_375', 'count_men_376', 'count_men_377', 'count_men_383', 'count_men_384', 'count_men_385', 'count_men_386', 'count_men_387', 'count_men_388', 'count_men_389', 'count_men_390', 'count_men_391', 'count_men_392', 'count_men_393', 'count_men_394', 'count_men_395', 'count_men_396', 'count_men_397', 'count_men_398', 'count_men_399', 'count_men_400', 'count_men_401', 'count_men_402', 'count_men_403', 'count_men_404', 'count_men_405', 'count_men_406', 'count_men_407', 'count_men_408', 'count_men_409', 'count_men_410', 'count_men_411', 'count_men_412', 'count_men_413', 'count_men_414', 'count_men_415', 'count_men_416', 'count_men_417', 'count_men_418', 'count_men_419', 'count_men_420', 'count_men_421', 'count_men_422', 'count_men_423', 'count_men_424', 'count_men_425', 'count_men_426', 'count_men_427', 'count_men_428', 'count_men_429', 'count_men_430', 'count_men_431', 'count_men_432', 'count_men_433', 'count_men_434', 'count_men_435', 'count_men_436', 'count_men_437', 'count_men_438', 'count_men_439', 'count_men_440', 'count_men_441', 'count_men_442', 'count_men_443', 'count_men_444', 'count_men_445', 'count_men_446', 'count_men_447', 'count_men_448', 'count_men_449', 'count_men_450', 'count_men_451', 'count_men_452', 'count_men_453', 'count_men_454', 'count_men_455', 'count_men_456', 'count_men_457', 'count_men_458', 'count_men_459', 'count_men_460', 'count_men_461', 'count_men_462', 'count_men_463', 'count_men_464', 'count_men_465', 'count_men_466', 'count_men_467', 'count_men_468', 'count_men_469', 'count_men_470', 'count_men_471', 'count_men_472', 'count_men_473', 'count_men_474', 'count_men_475', 'count_men_476', 'count_men_477', 'count_men_478', 'count_men_479', 'count_men_480', 'count_men_481', 'count_men_482', 'count_men_483', 'count_men_484', 'count_men_485', 'count_men_486', 'count_men_487', 'count_men_488', 'count_men_489', 'count_men_490', 'count_men_491', 'count_men_492', 'count_men_493', 'count_men_494', 'count_men_495', 'count_men_496', 'count_men_497', 'count_men_498', 'count_men_499', 'count_men_500', 'count_men_501', 'count_men_502', 'count_men_503', 'count_men_504', 'count_men_505', 'count_men_506', 'count_men_507', 'count_men_508', 'count_men_509', 'count_men_510', 'count_men_511', 'count_men_512', 'count_men_513', 'count_men_514', 'count_men_515', 'count_men_516', 'count_men_517', 'count_men_518', 'count_men_519', 'count_men_520', 'count_men_521', 'count_men_522', 'count_men_523', 'count_men_524', 'count_men_525', 'count_men_526', 'count_men_527', 'count_men_528', 'count_men_529', 'count_men_530', 'count_men_531', 'count_men_532', 'count_men_533', 'count_men_534', 'count_men_535', 'count_men_536', 'count_men_537', 'count_men_538', 'count_men_539', 'count_men_540', 'count_men_541', 'count_men_542', 'count_men_543', 'count_men_544', 'count_men_545', 'count_men_546', 'count_men_547', 'count_men_548', 'count_men_549', 'count_men_550', 'count_men_551', 'count_men_552', 'count_men_553', 'count_men_554', 'count_men_555', 'count_men_556', 'count_men_557', 'count_men_558', 'count_men_559', 'count_men_560', 'count_men_561', 'count_men_562', 'count_men_563', 'count_men_564', 'count_men_565', 'count_men_566', 'count_men_567', 'count_men_568', 'count_men_569', 'count_men_570', 'count_men_571', 'count_men_572', 'count_men_573', 'count_men_574', 'count_men_575', 'count_men_576', 'count_men_577', 'count_men_578', 'count_men_579', 'count_men_580', 'count_men_581', 'count_men_582', 'count_men_583', 'count_men_584', 'count_men_585', 'count_men_586', 'count_men_587', 'count_men_588', 'count_men_589', 'count_men_590', 'count_men_591', 'count_men_592', 'count_men_593', 'count_men_594', 'count_men_595', 'count_men_596', 'count_men_597', 'count_men_598', 'count_men_599', 'count_men_600', 'count_men_601', 'count_men_602', 'count_men_603', 'count_men_604', 'count_men_605', 'count_men_606', 'count_men_607', 'count_men_608', 'count_men_609', 'count_men_610', 'count_men_611', 'count_men_612', 'count_men_613', 'count_men_614', 'count_men_615', 'count_men_616', 'count_men_617', 'count_men_618', 'count_men_619', 'count_men_620', 'count_men_621', 'count_men_622', 'count_men_623', 'count_men_624', 'count_men_625', 'count_men_626', 'count_men_627', 'count_men_628', 'count_men_629', 'count_men_630', 'count_men_631', 'count_men_632', 'count_men_633', 'count_men_634', 'count_men_635', 'count_men_636', 'count_men_637', 'count_men_638', 'count_men_639', 'count_men_640', 'count_men_641', 'count_men_642', 'count_men_643', 'count_men_644', 'count_men_645', 'count_men_646', 'count_men_647', 'count_men_648', 'count_men_649', 'count_men_650', 'count_men_651', 'count_men_652', 'count_men_653', 'count_men_654', 'count_men_655', 'count_men_656', 'count_men_657', 'count_men_658', 'count_men_659', 'count_men_660', 'count_men_661', 'count_men_662', 'count_men_663', 'count_men_664', 'count_men_665', 'count_men_666', 'count_men_667', 'count_men_668', 'count_men_669', 'count_men_670', 'count_men_671', 'count_men_672', 'count_men_673', 'count_men_674', 'count_men_675', 'count_men_676', 'count_men_677', 'count_men_678', 'count_men_679', 'count_men_680', 'count_men_681', 'count_men_682', 'count_men_683', 'count_men_684', 'count_men_685', 'count_men_686', 'count_men_687', 'count_men_688', 'count_men_689', 'count_men_690', 'count_men_691', 'count_men_692', 'count_men_693', 'count_men_694', 'count_men_695', 'count_men_696', 'count_men_697', 'count_men_698', 'count_men_699', 'count_men_700', 'count_men_701', 'count_men_702', 'count_men_703', 'count_men_704', 'count_men_705', 'count_men_706', 'count_men_707', 'count_men_708', 'count_men_709', 'count_men_710', 'count_men_711', 'count_men_712', 'count_men_713', 'count_men_714', 'count_men_715', 'count_men_716', 'count_men_717', 'count_men_718', 'count_men_719', 'count_men_720', 'count_men_721', 'count_men_722', 'count_men_723', 'count_men_724', 'count_men_725', 'count_men_726', 'count_men_727', 'count_men_728', 'count_men_729', 'count_men_730', 'count_men_731', 'count_men_732', 'count_men_733', 'count_men_734', 'count_men_735', 'count_men_736', 'count_men_737', 'count_men_738', 'count_men_739', 'count_men_740', 'count_men_741', 'count_men_742', 'count_men_743', 'count_men_744', 'count_men_745', 'count_men_746', 'count_men_747', 'count_men_748', 'count_men_749', 'count_men_750', 'count_men_751', 'count_men_752', 'count_men_753', 'count_men_754', 'count_men_755', 'count_men_756', 'count_men_757', 'count_men_758', 'count_men_759', 'count_men_760', 'count_men_761', 'count_men_762', 'count_men_763', 'count_men_764', 'count_men_765', 'count_men_766', 'count_men_767', 'count_men_768', 'count_men_769', 'count_men_770', 'count_men_771', 'count_men_772', 'count_men_773', 'count_men_774', 'count_men_775', 'count_men_776', 'count_men_777', 'count_men_778', 'count_men_779', 'count_men_780', 'count_men_781', 'count_men_782', 'count_men_783', 'count_men_784', 'count_men_785', 'count_men_786', 'count_men_787', 'count_men_788', 'count_men_789', 'count_men_790', 'count_men_791', 'count_men_792', 'count_men_793', 'count_men_794', 'count_men_795', 'count_men_796', 'count_men_797', 'count_men_798', 'count_men_799', 'count_men_800', 'count_men_801', 'count_men_802', 'count_men_803', 'count_men_804', 'count_men_805', 'count_men_806', 'count_men_807', 'count_men_808', 'count_men_809', 'count_men_810', 'count_men_811', 'count_men_812', 'count_men_813', 'count_men_814', 'count_men_815', 'count_men_816', 'count_men_817', 'count_men_818', 'count_men_819', 'count_men_820', 'count_men_821', 'count_men_822', 'count_men_823', 'count_men_824', 'count_men_825', 'count_men_826', 'count_men_827', 'count_men_828', 'count_men_829', 'count_men_830', 'count_men_831', 'count_men_832', 'count_men_833', 'count_men_834', 'count_men_835', 'count_men_836', 'count_men_837', 'count_men_838', 'count_men_839', 'count_men_840', 'count_men_841', 'count_men_842', 'count_men_843', 'count_men_844', 'count_men_845', 'count_men_846', 'count_men_847', 'count_men_848', 'count_men_849', 'count_men_850', 'count_men_851', 'count_men_852', 'count_men_853', 'count_men_854', 'count_men_855', 'count_men_856', 'count_men_857', 'count_men_858', 'count_men_859', 'count_men_860', 'count_men_861', 'count_men_862', 'count_men_863', 'count_men_864', 'count_men_865', 'count_men_866', 'count_men_867', 'count_men_868', 'count_men_869', 'count_men_870', 'count_men_871', 'count_men_872', 'count_men_873', 'count_men_874', 'count_men_875', 'count_men_876', 'count_men_877', 'count_men_878', 'count_men_879', 'count_men_880', 'count_men_881', 'count_men_882', 'count_men_883', 'count_men_884', 'count_men_885', 'count_men_886', 'count_men_887', 'count_men_888', 'count_men_889', 'count_men_890', 'count_men_891', 'count_men_892', 'count_men_893', 'count_men_894', 'count_men_895', 'count_men_896', 'count_men_897', 'count_men_898', 'count_men_899', 'count_men_900', 'count_men_901', 'count_men_902', 'count_men_903', 'count_men_904', 'count_men_905', 'count_men_906', 'count_men_907', 'count_men_908', 'count_men_909', 'count_men_910', 'count_men_911', 'count_men_912', 'count_men_913', 'count_men_914', 'count_men_915', 'count_men_916', 'count_men_917', 'count_men_918', 'count_men_919', 'count_men_920', 'count_men_921', 'count_men_922', 'count_men_923', 'count_men_924', 'count_men_925', 'count_men_926', 'count_men_927', 'count_men_928', 'count_men_929', 'count_men_930', 'count_men_931', 'count_men_932', 'count_men_933', 'count_men_934', 'count_men_935', 'count_men_936', 'count_men_937', 'count_men_938', 'count_men_939', 'count_men_940', 'count_men_941', 'count_men_942', 'count_men_943', 'count_men_944', 'count_men_945', 'count_men_946', 'count_men_947', 'count_men_948', 'count_men_949', 'count_men_950', 'count_men_951', 'count_men_952', 'count_men_953', 'count_men_954', 'count_men_955', 'count_men_956', 'count_men_957', 'count_men_958', 'count_men_959', 'count_men_960', 'count_men_961', 'count_men_962', 'count_men_963', 'count_men_964', 'count_men_965', 'count_men_966', 'count_men_967', 'count_men_968', 'count_men_969', 'count_men_970', 'count_men_971', 'count_men_972', 'count_men_973', 'count_men_974', 'count_men_975', 'count_men_976', 'count_men_977', 'count_men_978', 'count_men_979', 'count_men_980', 'count_men_981', 'count_men_982', 'count_men_983', 'count_men_984', 'count_men_985', 'count_men_986', 'count_men_987', 'count_men_988', 'count_men_989', 'count_men_990', 'count_men_991', 'count_men_992', 'count_men_993', 'count_men_994', 'count_men_995', 'count_men_996', 'count_men_997', 'count_men_998', 'count_men_999', 'count_men_1000', 'count_men_1001', 'count_men_1002', 'count_men_1003', 'count_men_1004', 'count_men_1005', 'count_men_1006', 'count_men_1007', 'count_men_1008', 'count_men_1009', 'count_men_1010', 'count_men_1011', 'count_men_1012', 'count_men_1013', 'count_men_1014', 'count_men_1015', 'count_men_1016', 'count_men_1017', 'count_men_1018', 'count_men_1019', 'count_men_1020', 'count_men_1021', 'count_men_1022', 'count_men_1023', 'count_men_1024', 'count_men_1025', 'count_men_1026', 'count_men_1027', 'count_men_1028', 'count_men_1029', 'count_men_1030', 'count_men_1031', 'count_men_1032', 'count_men_1033', 'count_men_1034', 'count_men_1035', 'count_men_1036', 'count_men_1037', 'count_men_1038', 'count_men_1039', 'count_men_1040', 'count_men_1041', 'count_men_1042', 'count_men_1043', 'count_men_1044', 'count_men_1045', 'count_men_1046', 'count_men_1047', 'count_men_1048', 'count_men_1049', 'count_men_1050', 'count_men_1051', 'count_men_1052', 'count_men_1053', 'count_men_1054', 'count_men_1055', 'count_men_1056', 'count_men_1057', 'count_men_1058', 'count_men_1059', 'count_men_1060', 'count_men_1061', 'count_men_1062', 'count_men_1063', 'count_men_1064', 'count_men_1065', 'count_men_1066', 'count_men_1067', 'count_men_1068', 'count_men_1069', 'count_men_1070', 'count_men_1071', 'count_men_1072', 'count_men_1073', 'count_men_1074', 'count_men_1075', 'count_men_1076', 'count_men_1077', 'count_men_1078', 'count_men_1079', 'count_men_1080', 'count_men_1081', 'count_men_1082', 'count_men_1083', 'count_men_1084', 'count_men_1085', 'count_men_1086', 'count_men_1087', 'count_men_1088', 'count_men_1089', 'count_men_1090', 'count_men_1091', 'count_men_1092', 'count_men_1093', 'count_men_1094', 'count_men_1095', 'count_men_1096', 'count_men_1097', 'count_men_1098', 'count_men_1099', 'count_men_1100', 'count_men_1101', 'count_men_1102', 'count_men_1103', 'count_men_1104', 'count_men_1105', 'count_men_1106', 'count_men_1107', 'count_men_1108', 'count_men_1109', 'count_men_1110', 'count_men_1111', 'count_men_1112', 'count_men_1113', 'count_men_1114', 'count_men_1115', 'count_men_1116', 'count_men_1117', 'count_men_1118', 'count_men_1119', 'count_men_1120', 'count_men_1121', 'count_men_1122', 'count_men_1123', 'count_men_1124', 'count_men_1125', 'count_men_1126', 'count_men_1127', 'count_men_1128', 'count_men_1129', 'count_men_1130', 'count_men_1131', 'count_men_1132', 'count_men_1133', 'count_men_1134', 'count_men_1135', 'count_men_1136', 'count_men_1137', 'count_men_1138', 'count_men_1139', 'count_men_1140', 'count_men_1141', 'count_men_1142', 'count_men_1143', 'count_men_1144', 'count_men_1145', 'count_men_1146', 'count_men_1147', 'count_men_1148', 'count_men_1149', 'count_men_1150', 'count_men_1151', 'count_men_1152', 'count_men_1153', 'count_men_1154', 'count_men_1155', 'count_men_1156', 'count_men_1157', 'count_men_1158', 'count_men_1159', 'count_men_1160', 'count_men_1161', 'count_men_1162', 'count_men_1163', 'count_men_1164', 'count_men_1165', 'count_men_1166', 'count_men_1167', 'count_men_1168', 'count_men_1169', 'count_men_1170', 'count_men_1171', 'count_men_1172', 'count_men_1173', 'count_men_1174', 'count_men_1175', 'count_men_1176', 'count_men_1177', 'count_men_1178', 'count_men_1179', 'count_men_1180', 'count_men_1181', 'count_men_1182', 'count_men_1183', 'count_men_1184', 'count_men_1185', 'count_men_1186', 'count_men_1187', 'count_men_1188', 'count_men_1189', 'count_men_1190', 'count_men_1191', 'count_men_1192', 'count_men_1193', 'count_men_1194', 'count_men_1195', 'count_men_1196', 'count_men_1197', 'count_men_1198', 'count_men_1199', 'count_men_1200', 'count_men_1201', 'count_men_1202', 'count_men_1203', 'count_men_1204', 'count_men_1205', 'count_men_1206', 'count_men_1207', 'count_men_1208', 'count_men_1209', 'count_men_1210', 'count_men_1211', 'count_men_1212', 'count_men_1213', 'count_men_1214', 'count_men_1215', 'count_men_1216', 'count_men_1217', 'count_men_1218', 'count_men_1219', 'count_men_1220', 'count_men_1221', 'count_men_1222', 'count_men_1223', 'count_men_1224', 'count_men_1225', 'count_men_1226', 'count_men_1227', 'count_men_1228', 'count_men_1229', 'count_men_1230', 'count_men_1231', 'count_men_1232', 'count_men_1233', 'count_men_1234', 'count_men_1235', 'count_men_1236', 'count_men_1237', 'count_men_1238', 'count_men_1239', 'count_men_1240', 'count_men_1241', 'count_men_1242', 'count_men_1243', 'count_men_1244', 'count_men_1245', 'count_men_1246', 'count_men_1247', 'count_men_1248', 'count_men_1249', 'count_men_1250', 'count_men_1251', 'count_men_1252', 'count_men_1253', 'count_men_1254', 'count_men_1255', 'count_men_1256', 'count_men_1257', 'count_men_1258', 'count_men_1259', 'count_men_1260', 'count_men_1261', 'count_men_1262', 'count_men_1263', 'count_men_1264', 'count_men_1265', 'count_men_1266', 'count_men_1267', 'count_men_1268', 'count_men_1269', 'count_men_1270', 'count_men_1271', 'count_men_1272', 'count_men_1273', 'count_men_1274', 'count_men_1275', 'count_men_1276', 'count_men_1277', 'count_men_1278', 'count_men_1279', 'count_men_1280', 'count_men_1281', 'count_men_1282', 'count_men_1283', 'count_men_1284', 'count_men_1285', 'count_men_1286', 'count_men_1287', 'count_men_1288', 'count_men_1289', 'count_men_1290', 'count_men_1291', 'count_men_1292', 'count_men_1293', 'count_men_1294', 'count_men_1295', 'count_men_1296', 'count_men_1297', 'count_men_1298', 'count_men_1299', 'count_men_1300', 'count_men_1301', 'count_men_1302', 'count_men_1303', 'count_men_1304', 'count_men_1305', 'count_men_1306', 'count_men_1307', 'count_men_1308', 'count_men_1309', 'count_men_1310', 'count_men_1311', 'count_men_1312', 'count_men_1313', 'count_men_1314', 'count_men_1315', 'count_men_1316', 'count_men_1317', 'count_men_1318', 'count_men_1319', 'count_men_1320', 'count_men_1321', 'count_men_1322', 'count_men_1323', 'count_men_1324', 'count_men_1325', 'count_men_1326', 'count_men_1327', 'count_men_1328', 'count_men_1329', 'count_men_1330', 'count_men_1331', 'count_men_1332', 'count_men_1333', 'count_men_1334', 'count_men_1335', 'count_men_1336', 'count_men_1337', 'count_men_1338', 'count_men_1339', 'count_men_1340', 'count_men_1341', 'count_men_1342', 'count_men_1343', 'count_men_1344', 'count_men_1345', 'count_men_1346', 'count_men_1347', 'count_men_1348', 'count_men_1349', 'count_men_1350', 'count_men_1351', 'count_men_1352', 'count_men_1353', 'count_men_1354', 'count_men_1355', 'count_men_1356', 'count_men_1357', 'count_men_1358', 'count_men_1359', 'count_men_1360', 'count_men_1361', 'count_men_1362', 'count_men_1363', 'count_men_1364', 'count_men_1365', 'count_men_1366', 'count_men_1367', 'count_men_1368', 'count_men_1369', 'count_men_1370', 'count_men_1371', 'count_men_1372', 'count_men_1373', 'count_men_1374', 'count_men_1375', 'count_men_1376', 'count_men_1377', 'count_men_1378', 'count_men_1379', 'count_men_1380', 'count_men_1381', 'count_men_1382', 'count_men_1383', 'count_men_1384', 'count_men_1385', 'count_men_1386', 'count_men_1387', 'count_men_1388', 'count_men_1389', 'count_men_1390', 'count_men_1391', 'count_men_1392', 'count_men_1393', 'count_men_1394', 'count_men_1395', 'count_men_1396', 'count_men_1397', 'count_men_1398', 'count_men_1399', 'count_men_1400', 'count_men_1401', 'count_men_1402', 'count_men_1403', 'count_men_1404', 'count_men_1405', 'count_men_1406', 'count_men_1407', 'count_men_1408', 'count_men_1409', 'count_men_1410', 'count_men_1411', 'count_men_1412', 'count_men_1413', 'count_men_1500', 'count_men_1501', 'count_men_1502', 'count_men_1503', 'count_men_1504', 'count_men_1505', 'count_men_1506', 'count_men_1507', 'count_men_1508', 'count_men_1509', 'count_men_1510', 'count_men_1511', 'count_men_1512', 'count_men_1513', 'count_men_1514', 'count_men_1515', 'count_men_1516', 'count_men_1517', 'count_men_1518', 'count_men_1519', 'count_men_1520', 'count_men_1521', 'count_men_1522', 'count_men_1523', 'count_men_1524', 'count_men_1525', 'count_men_1526', 'count_men_1527', 'count_men_1528', 'count_men_1529', 'count_men_1530', 'count_men_1531', 'count_men_1532', 'count_men_1533', 'count_men_1534', 'count_men_1535', 'count_men_1536', 'count_men_1537', 'count_men_1538', 'count_men_1539', 'count_men_1540', 'count_men_1541', 'count_men_1542', 'count_men_1543', 'count_men_1544', 'count_men_1545', 'count_men_1546', 'count_men_1547', 'count_men_1548', 'count_men_1549', 'count_men_1550', 'count_men_1551', 'count_men_1552', 'count_men_1553', 'count_men_1554', 'count_men_1555', 'count_men_1556', 'count_men_1557', 'count_men_1558', 'count_men_1559', 'count_men_1560', 'count_men_1561', 'count_men_1562', 'count_men_1563', 'count_men_1564', 'count_men_1565', 'count_men_1566', 'count_men_1567', 'count_men_1568', 'count_men_1569', 'count_men_1570', 'count_men_1571', 'count_men_1572', 'count_men_1573', 'count_men_1574', 'count_men_1575', 'count_men_1576', 'count_men_1577', 'count_men_1578', 'count_men_1579', 'count_men_1580', 'count_men_1581', 'count_men_1582', 'count_men_1583', 'count_men_1584', 'count_men_1585', 'count_men_1586', 'count_men_1587', 'count_men_1588', 'count_men_1589', 'count_men_1590', 'count_men_1591', 'count_men_1592', 'count_men_1593', 'count_men_1594', 'count_men_1595', 'count_men_1596', 'count_men_1597', 'count_men_1598', 'count_men_1599', 'count_men_1600', 'count_men_1601', 'count_men_1602', 'count_men_1603', 'count_men_1604', 'count_men_1605', 'count_men_1606', 'count_men_1607', 'count_men_1608', 'count_men_1609', 'count_men_1610', 'count_men_1611', 'count_men_1612', 'count_men_1613', 'count_men_1614', 'count_men_1615', 'count_men_1616', 'count_men_1617', 'count_men_1618', 'count_men_1619', 'count_men_1620', 'count_men_1621', 'count_men_1622', 'count_men_1623', 'count_men_1624', 'count_men_1625', 'count_men_1626', 'count_men_1627', 'count_men_1628', 'count_men_1629', 'count_men_1630', 'count_men_1631', 'count_men_1632', 'count_men_1633', 'count_men_1634', 'count_men_1635', 'count_men_1636', 'count_men_1637', 'count_men_1638', 'count_men_1639', 'count_men_1640', 'count_men_1641', 'count_men_1642', 'count_men_1643', 'count_men_1644', 'count_men_1645', 'count_men_1646', 'count_men_1647', 'count_men_1648', 'count_men_1649', 'count_men_1650', 'count_men_1651', 'count_men_1652', 'count_men_1653', 'count_men_1654', 'count_men_1655', 'count_men_1656', 'count_men_1657', 'count_men_1658', 'count_men_1659', 'count_men_1660', 'count_men_1661', 'count_men_1662', 'count_men_1663', 'count_men_1664', 'count_men_1665', 'count_men_1666', 'count_men_1667', 'count_men_1668', 'count_men_1669', 'count_men_1670', 'count_men_1671', 'count_men_1672', 'count_men_1673', 'count_men_1674', 'count_men_1675', 'count_men_1676', 'count_men_1677', 'count_men_1678', 'count_men_1679', 'count_men_1680', 'count_men_1681', 'count_men_1682', 'count_men_1683', 'count_men_1684', 'count_men_1685', 'count_men_1686', 'count_men_1687', 'count_men_1688', 'count_men_1689', 'count_men_1690', 'count_men_1691', 'count_men_1692', 'count_men_1693', 'count_men_1694', 'count_men_1695', 'count_men_1696', 'count_men_1697', 'count_men_1698', 'count_men_1699', 'count_men_1700', 'count_men_1701', 'count_men_1702', 'count_men_1703', 'count_men_1704', 'count_men_1705', 'count_men_1706', 'count_men_1707', 'count_men_1708', 'count_men_1709', 'count_men_1710', 'count_men_1711', 'count_men_1712', 'count_men_1713', 'count_men_1714', 'count_men_1715', 'count_men_1716', 'count_men_1717', 'count_men_1718', 'count_men_1719', 'count_men_1720', 'count_men_1721', 'count_men_1722', 'count_men_1723', 'count_men_1724', 'count_men_1725', 'count_men_1726', 'count_men_1727', 'count_men_1728', 'count_men_1729', 'count_men_1730', 'count_men_1731', 'count_men_1732', 'count_men_1733', 'count_men_1734', 'count_men_1735', 'count_men_1736', 'count_men_1737', 'count_men_1738', 'count_men_1739', 'count_men_1740', 'count_men_1741', 'count_men_1742', 'count_men_1743', 'count_men_1744', 'count_men_1745', 'count_men_1746', 'count_men_1747', 'count_men_1748', 'count_men_1749', 'count_men_1750', 'count_men_1751', 'count_men_1752', 'count_men_1753', 'count_men_1754', 'count_men_1755', 'count_men_1756', 'count_men_1757', 'count_men_1758', 'count_men_1759', 'count_men_1760', 'count_men_1761', 'count_men_1762', 'count_men_1763', 'count_men_1764', 'count_men_1765', 'count_men_1766', 'count_men_1767', 'count_men_1768', 'count_men_1769', 'count_men_1770', 'count_men_1771', 'count_men_1772', 'count_men_1773', 'count_men_1774', 'count_men_1775', 'count_men_1776', 'count_men_1777', 'count_men_1778', 'count_men_1779', 'count_men_1780', 'count_men_1781', 'count_men_1782', 'count_men_1783', 'count_men_1784', 'count_men_1785', 'count_men_1786', 'count_men_1787', 'count_men_1788', 'count_men_1789', 'count_men_1790', 'count_men_1791', 'count_men_1792', 'count_men_1793', 'count_men_1794', 'count_men_1795', 'count_men_1796', 'count_men_1797', 'count_men_1798', 'count_men_1799', 'count_men_1800', 'count_men_1801', 'count_men_1802', 'count_men_1803', 'count_men_1804', 'count_men_1805', 'count_men_1806', 'count_men_1807', 'count_men_1808', 'count_men_1809', 'count_men_1810', 'count_men_1811', 'count_men_1812', 'count_men_1813', 'count_men_1814', 'count_men_1815', 'count_men_1816', 'count_men_1817', 'count_men_1818', 'count_men_1819', 'count_men_1820', 'count_men_1821', 'count_men_1822', 'count_men_1823', 'count_men_1824', 'count_men_1825', 'count_men_1826', 'count_men_1827', 'count_men_1828', 'count_men_1829', 'count_men_1830', 'count_men_1831', 'count_men_1832', 'count_men_1833', 'count_men_1834', 'count_men_1835', 'count_men_1836', 'count_men_1837', 'count_men_1838', 'count_men_1839', 'count_men_1840', 'count_men_1841', 'count_men_1842', 'count_men_1843', 'count_men_1844', 'count_men_1845', 'count_men_1846', 'count_men_1847', 'count_men_1848', 'count_men_1849', 'count_men_1850', 'count_men_1851', 'count_men_1852', 'count_men_1853', 'count_men_1854', 'count_men_1855', 'count_men_1856', 'count_men_1857', 'count_men_1858', 'count_men_1859', 'count_men_1860', 'count_men_1861', 'count_men_1862', 'count_men_1863', 'count_men_1864', 'count_men_1865', 'count_men_1866', 'count_men_1867', 'count_men_1868', 'count_men_1869', 'count_men_1870', 'count_men_1871', 'count_men_1872', 'count_men_1873', 'count_men_1874', 'count_men_1875', 'count_men_1876', 'count_men_1877', 'count_men_1878', 'count_men_1879', 'count_men_1880', 'count_men_1881', 'count_men_1882', 'count_men_1883', 'count_men_1884', 'count_men_1885', 'count_men_1886', 'count_men_1887', 'count_men_1888', 'count_men_1889', 'count_men_1890', 'count_men_1891', 'count_men_1892', 'count_men_1893', 'count_men_1894', 'count_men_1895', 'count_men_1896', 'count_men_1897', 'count_men_1898', 'count_men_1899', 'count_men_1900', 'count_men_1901', 'count_men_1902', 'count_men_1903', 'count_men_1904', 'count_men_1905', 'count_men_1906', 'count_men_1907', 'count_men_1908', 'count_men_1909', 'count_men_1910', 'count_men_1911', 'count_men_1912', 'count_men_1913', 'count_men_1914', 'count_men_1915', 'count_men_1916', 'count_men_1917', 'count_men_1918', 'count_men_1919', 'count_men_1920', 'count_men_1921', 'count_men_1922', 'count_men_1923', 'count_men_1924', 'count_men_1925', 'count_men_1926', 'count_men_1927', 'count_men_1928', 'count_men_1929', 'count_men_1930', 'count_men_1931', 'count_men_1932', 'count_men_1933', 'count_men_1934', 'count_men_1935', 'count_men_1936', 'count_men_1937', 'count_men_1938', 'count_men_1939', 'count_men_1940', 'count_men_1941', 'count_men_1942', 'count_men_1943', 'count_men_1944', 'count_men_1945', 'count_men_1946', 'count_men_1947', 'count_men_1948', 'count_men_1949', 'count_men_1950', 'count_men_1951', 'count_men_1952', 'count_men_1953', 'count_men_1954', 'count_men_1955', 'count_men_1956', 'count_men_1957', 'count_men_1958', 'count_men_1959', 'count_men_1960', 'count_men_1961', 'count_men_1962', 'count_men_1963', 'count_men_1964', 'count_men_1965', 'count_men_1966', 'count_men_1967', 'count_men_1968', 'count_men_1969', 'count_men_1970', 'count_men_1971', 'count_men_1972', 'count_men_1973', 'count_men_1974', 'count_men_1975', 'count_men_1976', 'count_men_1977', 'count_men_1978', 'count_men_1979', 'count_men_1980', 'count_men_1981', 'count_men_1982', 'count_men_1983', 'count_men_1984', 'count_men_1985', 'count_men_1986', 'count_men_1987', 'count_men_1988', 'count_men_1989', 'count_men_1990', 'count_men_1991', 'count_men_1992', 'count_men_1993', 'count_men_1994', 'count_men_1995', 'count_men_1996', 'count_men_1997', 'count_men_1998', 'count_men_1999', 'count_men_2000', 'count_men_2001', 'count_men_2002', 'count_men_2003', 'count_men_2004', 'count_men_2005', 'count_men_2006', 'count_men_2007', 'count_men_2008', 'count_men_2009', 'count_men_2010', 'count_men_2011', 'count_men_2012', 'count_men_2013', 'count_men_2014', 'count_men_2015', 'count_men_2016', 'count_men_2017', 'count_men_2018', 'count_men_2019', 'count_men_2020', 'count_men_2021', 'count_men_2022', 'count_men_2023', 'count_men_2024', 'count_men_2025', 'count_men_2026', 'count_men_2027', 'count_men_2028', 'count_men_2029', 'count_men_2030', 'count_men_2031', 'count_men_2032', 'count_men_2033', 'count_men_2034', 'count_men_2035', 'count_men_2036', 'count_men_2037', 'count_men_2038', 'count_men_2039', 'count_men_2040', 'count_men_2041', 'count_men_2042', 'count_men_2043', 'count_men_2044', 'count_men_2045', 'count_men_2046', 'count_men_2047', 'count_men_2048', 'count_men_2049', 'count_men_2050', 'count_men_2051', 'count_men_2052', 'count_men_2053', 'count_men_2054', 'count_men_2055', 'count_men_2056', 'count_men_2057', 'count_men_2058', 'count_men_2059', 'count_men_2060', 'count_men_2061', 'count_men_2062', 'count_men_2063', 'count_men_2064', 'count_men_2065', 'count_men_2066', 'count_men_2067', 'count_men_2068', 'count_men_2069', 'count_men_2070', 'count_men_2071', 'count_men_2072', 'count_men_2073', 'count_men_2074', 'count_men_2075', 'count_men_2076', 'count_men_2077', 'count_men_2078', 'count_men_2079', 'count_men_2080', 'count_men_2081', 'count_men_2082', 'count_men_2083', 'count_men_2084', 'count_men_2085', 'count_men_2086', 'count_men_2087', 'count_men_2088', 'count_men_2089', 'count_men_2090', 'count_men_2091', 'count_men_2092', 'count_men_2093', 'count_men_2094', 'count_men_2095', 'count_men_2096', 'count_men_2097', 'count_men_2098', 'count_men_2099', 'count_men_2100', 'count_men_2101', 'count_men_2102', 'count_men_2103', 'count_men_2104', 'count_men_2105', 'count_men_2106', 'count_men_2107', 'count_men_2108', 'count_men_2109', 'count_men_2110', 'count_men_2111', 'count_men_2112', 'count_men_2113', 'count_men_2114', 'count_men_2115', 'count_men_2116', 'count_men_2117', 'count_men_2118', 'count_men_2119', 'count_men_2120', 'count_men_2121', 'count_men_2122', 'count_men_2123', 'count_men_2124', 'count_men_2125', 'count_men_2126', 'count_men_2127', 'count_men_2128', 'count_men_2129', 'count_men_2130', 'count_men_2131', 'count_men_2132', 'count_men_2133', 'count_men_2134', 'count_men_2135', 'count_men_2136', 'count_men_2137', 'count_men_2138', 'count_men_2139', 'count_men_2140', 'count_men_2141', 'count_men_2142', 'count_men_2143', 'count_men_2144', 'count_men_2145', 'count_men_2146', 'count_men_2147', 'count_men_2148', 'count_men_2149', 'count_men_2150', 'count_men_2151', 'count_men_2152', 'count_men_2153', 'count_men_2154', 'count_men_2155', 'count_men_2156', 'count_men_2157', 'count_men_2158', 'count_men_2159', 'count_men_2160', 'count_men_2161', 'count_men_2162', 'count_men_2163', 'count_men_2164', 'count_men_2165', 'count_men_2166', 'count_men_2167', 'count_men_2168', 'count_men_2169', 'count_men_2170', 'count_men_2171', 'count_men_2172', 'count_men_2173', 'count_men_2174', 'count_men_2175', 'count_men_2176', 'count_men_2177', 'count_men_2178', 'count_men_2179', 'count_men_2180', 'count_men_2181', 'count_men_2182', 'count_men_2183', 'count_men_2184', 'count_men_2185', 'count_men_2186', 'count_men_2187', 'count_men_2188', 'count_men_2189', 'count_men_2190', 'count_men_2191', 'count_men_2192', 'count_men_2193', 'count_men_2194', 'count_men_2195', 'count_men_2196', 'count_men_2197', 'count_men_2198', 'count_men_2199', 'count_men_2200', 'count_men_2201', 'count_men_2202', 'count_men_2203', 'count_men_2204', 'count_men_2205', 'count_men_2206', 'count_men_2207', 'count_men_2208', 'count_men_2209', 'count_men_2210', 'count_men_2211', 'count_men_2212', 'count_men_2213', 'count_men_2214', 'count_men_2215', 'count_men_2216', 'count_men_2217', 'count_men_2218', 'count_men_2219', 'count_men_2220', 'count_men_2221', 'count_men_2222', 'count_men_2223', 'count_men_2224', 'count_men_2225', 'count_men_2226', 'count_men_2227', 'count_men_2228', 'count_men_2229', 'count_men_2230', 'count_men_2231', 'count_men_2232', 'count_men_2233', 'count_men_2234', 'count_men_2235', 'count_men_2236', 'count_men_2237', 'count_men_2238', 'count_men_2239', 'count_men_2240', 'count_men_2241', 'count_men_2242', 'count_men_2243', 'count_men_2244', 'count_men_2245', 'count_men_2246', 'count_men_2247', 'count_men_2248', 'count_men_2249', 'count_men_2250', 'count_men_2251', 'count_men_2252', 'count_men_2253', 'count_men_2254', 'count_men_2255', 'count_men_2256', 'count_men_2257', 'count_men_2258', 'count_men_2259', 'count_men_2260', 'count_men_2261', 'count_men_2262', 'count_men_2263', 'count_men_2264', 'count_men_2265', 'count_men_2266', 'count_men_2267', 'count_men_2268', 'count_men_2269', 'count_men_2270', 'count_men_2271', 'count_men_2272', 'count_men_2273', 'count_men_2274', 'count_men_2275', 'count_men_2276', 'count_men_2277', 'count_men_2278', 'count_men_2279', 'count_men_2280', 'count_men_2281', 'count_men_2282', 'count_men_2283', 'count_men_2284', 'count_men_2285', 'count_men_2286', 'count_men_2287', 'count_men_2288', 'count_men_2289', 'count_men_2290', 'count_men_2291', 'count_men_2292', 'count_men_2293', 'count_men_2294', 'count_men_2295', 'count_men_2296', 'count_men_2297', 'count_men_2298', 'count_men_2299', 'count_men_2300', 'count_men_2301', 'count_men_2302', 'count_men_2303', 'count_men_2304', 'count_men_2305', 'count_men_2306', 'count_men_2307', 'count_men_2308', 'count_men_2309', 'count_men_2310', 'count_men_2311', 'count_men_2312', 'count_men_2313', 'count_men_2314', 'count_men_2315', 'count_men_2316', 'count_men_2317', 'count_men_2318', 'count_men_2319', 'count_men_2320', 'count_men_2321', 'count_men_2322', 'count_men_2323', 'count_men_2324', 'count_men_2325', 'count_men_2326', 'count_men_2327', 'count_men_2328', 'count_men_2329', 'count_men_2330', 'count_men_2331', 'count_men_2332', 'count_men_2333', 'count_men_2334', 'count_men_2335', 'count_men_2336', 'count_men_2337', 'count_men_2338', 'count_men_2339', 'count_men_2340', 'count_men_2341', 'count_men_2342', 'count_men_2343', 'count_men_2344', 'count_men_2345', 'count_men_2346', 'count_men_2347', 'count_men_2348', 'count_men_2349', 'count_men_2350', 'count_men_2351', 'count_men_2352', 'count_men_2353', 'count_men_2354', 'count_men_2355', 'count_men_2356', 'count_men_2357', 'count_men_2358', 'count_men_2359', 'count_men_2360', 'count_men_2361', 'count_men_2362', 'count_men_2363', 'count_men_2364', 'count_men_2365', 'count_men_2366', 'count_men_2367', 'count_men_2368', 'count_men_2369', 'count_men_2370', 'count_men_2371', 'count_men_2372', 'count_men_2373', 'count_men_2374', 'count_men_2375', 'count_men_2376', 'count_men_2377', 'count_men_2378', 'count_men_2379', 'count_men_2380', 'count_men_2381', 'count_men_2382', 'count_men_2383', 'count_men_2384', 'count_men_2385', 'count_men_2386', 'count_men_2387', 'count_men_2388', 'count_men_2389', 'count_men_2390', 'count_men_2391', 'count_men_2392', 'count_men_2393', 'count_men_2394', 'count_men_2395', 'count_men_2396', 'count_men_2397', 'count_men_2398', 'count_men_2399', 'count_men_2400', 'count_men_2401', 'count_men_2402', 'count_men_2403', 'count_men_2404', 'count_men_2405', 'count_men_2406', 'count_men_2407', 'count_men_2408', 'count_men_2409', 'count_men_2410', 'count_men_2411', 'count_men_2412', 'count_men_2413', 'count_men_2414', 'count_men_2415', 'count_men_2416', 'count_men_2417', 'count_men_2418', 'count_men_2419', 'count_men_2420', 'count_men_2421', 'count_men_2422', 'count_men_2423', 'count_men_2424', 'count_men_2425', 'count_men_2426', 'count_men_2427', 'count_men_2428', 'count_men_2429', 'count_men_2430', 'count_men_2431', 'count_men_2432', 'count_men_2433', 'count_men_2434', 'count_men_2435', 'count_men_2436', 'count_men_2437', 'count_men_2438', 'count_men_2439', 'count_men_2440', 'count_men_2441', 'count_men_2442', 'count_men_2443', 'count_men_2444', 'count_men_2445', 'count_men_2446', 'count_men_2447', 'count_men_2448', 'count_men_2449', 'count_men_2450', 'count_men_2451', 'count_men_2452', 'count_men_2453', 'count_men_2454', 'count_men_2455', 'count_men_2456', 'count_men_2457', 'count_men_2458', 'count_men_2459', 'count_men_2460', 'count_men_2461', 'count_men_2462', 'count_men_2463', 'count_men_2464', 'count_men_2465', 'count_men_2466', 'count_men_2467', 'count_men_2468', 'count_men_2469', 'count_men_2470', 'count_men_2471', 'count_men_2472', 'count_men_2473', 'count_men_2474', 'count_men_2475', 'count_men_2476', 'count_men_2477', 'count_men_2478', 'count_men_2479', 'count_men_2480', 'count_men_2481', 'count_men_2482', 'count_men_2483', 'count_men_2484', 'count_men_2485', 'count_men_2486', 'count_men_2487', 'count_men_2488', 'count_men_2489', 'count_men_2490', 'count_men_2491', 'count_men_2492', 'count_men_2493', 'count_men_2494', 'count_men_2495', 'count_men_2496', 'count_men_2497', 'count_men_2498', 'count_men_2499', 'count_men_2500', 'count_men_2501', 'count_men_2502', 'count_men_2503', 'count_men_2504', 'count_men_2505', 'count_men_2506', 'count_men_2507', 'count_men_2508', 'count_men_2509', 'count_men_2510', 'count_men_2511', 'count_men_2512', 'count_men_2513', 'count_men_2514', 'count_men_2515', 'count_men_2516', 'count_men_2517', 'count_men_2518', 'count_men_2519', 'count_men_2520', 'count_men_2521', 'count_men_2522', 'count_men_2523', 'count_men_2524', 'count_men_2525', 'count_men_2526', 'count_men_2527', 'count_men_2528', 'count_men_2529', 'count_men_2530', 'count_men_2531', 'count_men_2532', 'count_men_2533', 'count_men_2534', 'count_men_2535', 'count_men_2536', 'count_men_2537', 'count_men_2538', 'count_men_2539', 'count_men_2540', 'count_men_2541', 'count_men_2542', 'count_men_2543', 'count_men_2544', 'count_men_2545', 'count_men_2546', 'count_men_2547', 'count_men_2548', 'count_men_2549', 'count_men_2550', 'count_men_2551', 'count_men_2552', 'count_men_2553', 'count_men_2554', 'count_men_2555', 'count_men_2556', 'count_men_2557', 'count_men_2558', 'count_men_2559', 'count_men_2560', 'count_men_2561', 'count_men_2562', 'count_men_2563', 'count_men_2564', 'count_men_2565', 'count_men_2566', 'count_men_2567', 'count_men_2568', 'count_men_2569', 'count_men_2570', 'count_men_2571', 'count_men_2572', 'count_men_2573', 'count_men_2574', 'count_men_2575', 'count_men_2576', 'count_men_2577', 'count_men_2578', 'count_men_2579', 'count_men_2580', 'count_men_2581', 'count_men_2582', 'count_men_2583', 'count_men_2584', 'count_men_2585', 'count_men_2586', 'count_men_2587', 'count_men_2588', 'count_men_2589', 'count_men_2590', 'count_men_2591', 'count_men_2592', 'count_men_2593', 'count_men_2594', 'count_men_2595', 'count_men_2596', 'count_men_2597', 'count_men_2598', 'count_men_2599', 'count_men_2600', 'count_men_2601', 'count_men_2602', 'count_men_2603', 'count_men_2604', 'count_men_2605', 'count_men_2606', 'count_men_2607', 'count_men_2608', 'count_men_2609', 'count_men_2610', 'count_men_2611', 'count_men_2612', 'count_men_2613', 'count_men_2614', 'count_men_2615', 'count_men_2616', 'count_men_2617', 'count_men_2618', 'count_men_2619', 'count_men_2620', 'count_men_2621', 'count_men_2622', 'count_men_2623', 'count_men_2624', 'count_men_2625', 'count_men_2626', 'count_men_2627', 'count_men_2628', 'count_men_2629', 'count_men_2630', 'count_men_2631', 'count_women_8', 'count_women_9', 'count_women_10', 'count_women_11', 'count_women_12', 'count_women_13', 'count_women_14', 'count_women_15', 'count_women_16', 'count_women_17', 'count_women_18', 'count_women_19', 'count_women_20', 'count_women_21', 'count_women_22', 'count_women_23', 'count_women_24', 'count_women_25', 'count_women_26', 'count_women_27', 'count_women_28', 'count_women_29', 'count_women_30', 'count_women_31', 'count_women_32', 'count_women_33', 'count_women_34', 'count_women_35', 'count_women_36', 'count_women_37', 'count_women_38', 'count_women_39', 'count_women_40', 'count_women_56', 'count_women_58', 'count_women_59', 'count_women_60', 'count_women_61', 'count_women_62', 'count_women_63', 'count_women_64', 'count_women_65', 'count_women_66', 'count_women_67', 'count_women_68', 'count_women_69', 'count_women_70', 'count_women_89', 'count_women_90', 'count_women_91', 'count_women_92', 'count_women_93', 'count_women_94', 'count_women_95', 'count_women_96', 'count_women_97', 'count_women_98', 'count_women_99', 'count_women_111', 'count_women_112', 'count_women_113', 'count_women_114', 'count_women_115', 'count_women_116', 'count_women_117', 'count_women_118', 'count_women_119', 'count_women_120', 'count_women_121', 'count_women_122', 'count_women_123', 'count_women_124', 'count_women_125', 'count_women_126', 'count_women_127', 'count_women_128', 'count_women_129', 'count_women_130', 'count_women_131', 'count_women_132', 'count_women_133', 'count_women_134', 'count_women_135', 'count_women_136', 'count_women_137', 'count_women_138', 'count_women_139', 'count_women_140', 'count_women_141', 'count_women_142', 'count_women_143', 'count_women_144', 'count_women_145', 'count_women_146', 'count_women_147', 'count_women_148', 'count_women_149', 'count_women_150', 'count_women_151', 'count_women_152', 'count_women_153', 'count_women_154', 'count_women_155', 'count_women_156', 'count_women_157', 'count_women_158', 'count_women_159', 'count_women_160', 'count_women_161', 'count_women_162', 'count_women_163', 'count_women_164', 'count_women_165', 'count_women_166', 'count_women_167', 'count_women_168', 'count_women_169', 'count_women_170', 'count_women_171', 'count_women_172', 'count_women_173', 'count_women_174', 'count_women_175', 'count_women_176', 'count_women_177', 'count_women_178', 'count_women_179', 'count_women_180', 'count_women_181', 'count_women_182', 'count_women_183', 'count_women_184', 'count_women_185', 'count_women_186', 'count_women_187', 'count_women_188', 'count_women_189', 'count_women_190', 'count_women_191', 'count_women_192', 'count_women_193', 'count_women_194', 'count_women_195', 'count_women_196', 'count_women_197', 'count_women_198', 'count_women_199', 'count_women_200', 'count_women_201', 'count_women_202', 'count_women_203', 'count_women_204', 'count_women_205', 'count_women_206', 'count_women_207', 'count_women_208', 'count_women_209', 'count_women_210', 'count_women_211', 'count_women_212', 'count_women_213', 'count_women_214', 'count_women_215', 'count_women_216', 'count_women_217', 'count_women_218', 'count_women_219', 'count_women_220', 'count_women_221', 'count_women_222', 'count_women_223', 'count_women_224', 'count_women_225', 'count_women_226', 'count_women_227', 'count_women_228', 'count_women_229', 'count_women_230', 'count_women_231', 'count_women_232', 'count_women_233', 'count_women_234', 'count_women_235', 'count_women_236', 'count_women_237', 'count_women_238', 'count_women_239', 'count_women_240', 'count_women_241', 'count_women_317', 'count_women_318', 'count_women_319', 'count_women_332', 'count_women_333', 'count_women_334', 'count_women_335', 'count_women_336', 'count_women_337', 'count_women_338', 'count_women_339', 'count_women_340', 'count_women_341', 'count_women_342', 'count_women_343', 'count_women_344', 'count_women_345', 'count_women_346', 'count_women_347', 'count_women_348', 'count_women_349', 'count_women_350', 'count_women_351', 'count_women_352', 'count_women_353', 'count_women_354', 'count_women_355', 'count_women_356', 'count_women_357', 'count_women_358', 'count_women_359', 'count_women_360', 'count_women_361', 'count_women_362', 'count_women_363', 'count_women_364', 'count_women_365', 'count_women_366', 'count_women_367', 'count_women_368', 'count_women_369', 'count_women_370', 'count_women_371', 'count_women_372', 'count_women_373', 'count_women_374', 'count_women_375', 'count_women_376', 'count_women_377', 'count_women_383', 'count_women_384', 'count_women_385', 'count_women_386', 'count_women_387', 'count_women_388', 'count_women_389', 'count_women_390', 'count_women_391', 'count_women_392', 'count_women_393', 'count_women_394', 'count_women_395', 'count_women_396', 'count_women_397', 'count_women_398', 'count_women_399', 'count_women_400', 'count_women_401', 'count_women_402', 'count_women_403', 'count_women_404', 'count_women_405', 'count_women_406', 'count_women_407', 'count_women_408', 'count_women_409', 'count_women_410', 'count_women_411', 'count_women_412', 'count_women_413', 'count_women_414', 'count_women_415', 'count_women_416', 'count_women_417', 'count_women_418', 'count_women_419', 'count_women_420', 'count_women_421', 'count_women_422', 'count_women_423', 'count_women_424', 'count_women_425', 'count_women_426', 'count_women_427', 'count_women_428', 'count_women_429', 'count_women_430', 'count_women_431', 'count_women_432', 'count_women_433', 'count_women_434', 'count_women_435', 'count_women_436', 'count_women_437', 'count_women_438', 'count_women_439', 'count_women_440', 'count_women_441', 'count_women_442', 'count_women_443', 'count_women_444', 'count_women_445', 'count_women_446', 'count_women_447', 'count_women_448', 'count_women_449', 'count_women_450', 'count_women_451', 'count_women_452', 'count_women_453', 'count_women_454', 'count_women_455', 'count_women_456', 'count_women_457', 'count_women_458', 'count_women_459', 'count_women_460', 'count_women_461', 'count_women_462', 'count_women_463', 'count_women_464', 'count_women_465', 'count_women_466', 'count_women_467', 'count_women_468', 'count_women_469', 'count_women_470', 'count_women_471', 'count_women_472', 'count_women_473', 'count_women_474', 'count_women_475', 'count_women_476', 'count_women_477', 'count_women_478', 'count_women_479', 'count_women_480', 'count_women_481', 'count_women_482', 'count_women_483', 'count_women_484', 'count_women_485', 'count_women_486', 'count_women_487', 'count_women_488', 'count_women_489', 'count_women_490', 'count_women_491', 'count_women_492', 'count_women_493', 'count_women_494', 'count_women_495', 'count_women_496', 'count_women_497', 'count_women_498', 'count_women_499', 'count_women_500', 'count_women_501', 'count_women_502', 'count_women_503', 'count_women_504', 'count_women_505', 'count_women_506', 'count_women_507', 'count_women_508', 'count_women_509', 'count_women_510', 'count_women_511', 'count_women_512', 'count_women_513', 'count_women_514', 'count_women_515', 'count_women_516', 'count_women_517', 'count_women_518', 'count_women_519', 'count_women_520', 'count_women_521', 'count_women_522', 'count_women_523', 'count_women_524', 'count_women_525', 'count_women_526', 'count_women_527', 'count_women_528', 'count_women_529', 'count_women_530', 'count_women_531', 'count_women_532', 'count_women_533', 'count_women_534', 'count_women_535', 'count_women_536', 'count_women_537', 'count_women_538', 'count_women_539', 'count_women_540', 'count_women_541', 'count_women_542', 'count_women_543', 'count_women_544', 'count_women_545', 'count_women_546', 'count_women_547', 'count_women_548', 'count_women_549', 'count_women_550', 'count_women_551', 'count_women_552', 'count_women_553', 'count_women_554', 'count_women_555', 'count_women_556', 'count_women_557', 'count_women_558', 'count_women_559', 'count_women_560', 'count_women_561', 'count_women_562', 'count_women_563', 'count_women_564', 'count_women_565', 'count_women_566', 'count_women_567', 'count_women_568', 'count_women_569', 'count_women_570', 'count_women_571', 'count_women_572', 'count_women_573', 'count_women_574', 'count_women_575', 'count_women_576', 'count_women_577', 'count_women_578', 'count_women_579', 'count_women_580', 'count_women_581', 'count_women_582', 'count_women_583', 'count_women_584', 'count_women_585', 'count_women_586', 'count_women_587', 'count_women_588', 'count_women_589', 'count_women_590', 'count_women_591', 'count_women_592', 'count_women_593', 'count_women_594', 'count_women_595', 'count_women_596', 'count_women_597', 'count_women_598', 'count_women_599', 'count_women_600', 'count_women_601', 'count_women_602', 'count_women_603', 'count_women_604', 'count_women_605', 'count_women_606', 'count_women_607', 'count_women_608', 'count_women_609', 'count_women_610', 'count_women_611', 'count_women_612', 'count_women_613', 'count_women_614', 'count_women_615', 'count_women_616', 'count_women_617', 'count_women_618', 'count_women_619', 'count_women_620', 'count_women_621', 'count_women_622', 'count_women_623', 'count_women_624', 'count_women_625', 'count_women_626', 'count_women_627', 'count_women_628', 'count_women_629', 'count_women_630', 'count_women_631', 'count_women_632', 'count_women_633', 'count_women_634', 'count_women_635', 'count_women_636', 'count_women_637', 'count_women_638', 'count_women_639', 'count_women_640', 'count_women_641', 'count_women_642', 'count_women_643', 'count_women_644', 'count_women_645', 'count_women_646', 'count_women_647', 'count_women_648', 'count_women_649', 'count_women_650', 'count_women_651', 'count_women_652', 'count_women_653', 'count_women_654', 'count_women_655', 'count_women_656', 'count_women_657', 'count_women_658', 'count_women_659', 'count_women_660', 'count_women_661', 'count_women_662', 'count_women_663', 'count_women_664', 'count_women_665', 'count_women_666', 'count_women_667', 'count_women_668', 'count_women_669', 'count_women_670', 'count_women_671', 'count_women_672', 'count_women_673', 'count_women_674', 'count_women_675', 'count_women_676', 'count_women_677', 'count_women_678', 'count_women_679', 'count_women_680', 'count_women_681', 'count_women_682', 'count_women_683', 'count_women_684', 'count_women_685', 'count_women_686', 'count_women_687', 'count_women_688', 'count_women_689', 'count_women_690', 'count_women_691', 'count_women_692', 'count_women_693', 'count_women_694', 'count_women_695', 'count_women_696', 'count_women_697', 'count_women_698', 'count_women_699', 'count_women_700', 'count_women_701', 'count_women_702', 'count_women_703', 'count_women_704', 'count_women_705', 'count_women_706', 'count_women_707', 'count_women_708', 'count_women_709', 'count_women_710', 'count_women_711', 'count_women_712', 'count_women_713', 'count_women_714', 'count_women_715', 'count_women_716', 'count_women_717', 'count_women_718', 'count_women_719', 'count_women_720', 'count_women_721', 'count_women_722', 'count_women_723', 'count_women_724', 'count_women_725', 'count_women_726', 'count_women_727', 'count_women_728', 'count_women_729', 'count_women_730', 'count_women_731', 'count_women_732', 'count_women_733', 'count_women_734', 'count_women_735', 'count_women_736', 'count_women_737', 'count_women_738', 'count_women_739', 'count_women_740', 'count_women_741', 'count_women_742', 'count_women_743', 'count_women_744', 'count_women_745', 'count_women_746', 'count_women_747', 'count_women_748', 'count_women_749', 'count_women_750', 'count_women_751', 'count_women_752', 'count_women_753', 'count_women_754', 'count_women_755', 'count_women_756', 'count_women_757', 'count_women_758', 'count_women_759', 'count_women_760', 'count_women_761', 'count_women_762', 'count_women_763', 'count_women_764', 'count_women_765', 'count_women_766', 'count_women_767', 'count_women_768', 'count_women_769', 'count_women_770', 'count_women_771', 'count_women_772', 'count_women_773', 'count_women_774', 'count_women_775', 'count_women_776', 'count_women_777', 'count_women_778', 'count_women_779', 'count_women_780', 'count_women_781', 'count_women_782', 'count_women_783', 'count_women_784', 'count_women_785', 'count_women_786', 'count_women_787', 'count_women_788', 'count_women_789', 'count_women_790', 'count_women_791', 'count_women_792', 'count_women_793', 'count_women_794', 'count_women_795', 'count_women_796', 'count_women_797', 'count_women_798', 'count_women_799', 'count_women_800', 'count_women_801', 'count_women_802', 'count_women_803', 'count_women_804', 'count_women_805', 'count_women_806', 'count_women_807', 'count_women_808', 'count_women_809', 'count_women_810', 'count_women_811', 'count_women_812', 'count_women_813', 'count_women_814', 'count_women_815', 'count_women_816', 'count_women_817', 'count_women_818', 'count_women_819', 'count_women_820', 'count_women_821', 'count_women_822', 'count_women_823', 'count_women_824', 'count_women_825', 'count_women_826', 'count_women_827', 'count_women_828', 'count_women_829', 'count_women_830', 'count_women_831', 'count_women_832', 'count_women_833', 'count_women_834', 'count_women_835', 'count_women_836', 'count_women_837', 'count_women_838', 'count_women_839', 'count_women_840', 'count_women_841', 'count_women_842', 'count_women_843', 'count_women_844', 'count_women_845', 'count_women_846', 'count_women_847', 'count_women_848', 'count_women_849', 'count_women_850', 'count_women_851', 'count_women_852', 'count_women_853', 'count_women_854', 'count_women_855', 'count_women_856', 'count_women_857', 'count_women_858', 'count_women_859', 'count_women_860', 'count_women_861', 'count_women_862', 'count_women_863', 'count_women_864', 'count_women_865', 'count_women_866', 'count_women_867', 'count_women_868', 'count_women_869', 'count_women_870', 'count_women_871', 'count_women_872', 'count_women_873', 'count_women_874', 'count_women_875', 'count_women_876', 'count_women_877', 'count_women_878', 'count_women_879', 'count_women_880', 'count_women_881', 'count_women_882', 'count_women_883', 'count_women_884', 'count_women_885', 'count_women_886', 'count_women_887', 'count_women_888', 'count_women_889', 'count_women_890', 'count_women_891', 'count_women_892', 'count_women_893', 'count_women_894', 'count_women_895', 'count_women_896', 'count_women_897', 'count_women_898', 'count_women_899', 'count_women_900', 'count_women_901', 'count_women_902', 'count_women_903', 'count_women_904', 'count_women_905', 'count_women_906', 'count_women_907', 'count_women_908', 'count_women_909', 'count_women_910', 'count_women_911', 'count_women_912', 'count_women_913', 'count_women_914', 'count_women_915', 'count_women_916', 'count_women_917', 'count_women_918', 'count_women_919', 'count_women_920', 'count_women_921', 'count_women_922', 'count_women_923', 'count_women_924', 'count_women_925', 'count_women_926', 'count_women_927', 'count_women_928', 'count_women_929', 'count_women_930', 'count_women_931', 'count_women_932', 'count_women_933', 'count_women_934', 'count_women_935', 'count_women_936', 'count_women_937', 'count_women_938', 'count_women_939', 'count_women_940', 'count_women_941', 'count_women_942', 'count_women_943', 'count_women_944', 'count_women_945', 'count_women_946', 'count_women_947', 'count_women_948', 'count_women_949', 'count_women_950', 'count_women_951', 'count_women_952', 'count_women_953', 'count_women_954', 'count_women_955', 'count_women_956', 'count_women_957', 'count_women_958', 'count_women_959', 'count_women_960', 'count_women_961', 'count_women_962', 'count_women_963', 'count_women_964', 'count_women_965', 'count_women_966', 'count_women_967', 'count_women_968', 'count_women_969', 'count_women_970', 'count_women_971', 'count_women_972', 'count_women_973', 'count_women_974', 'count_women_975', 'count_women_976', 'count_women_977', 'count_women_978', 'count_women_979', 'count_women_980', 'count_women_981', 'count_women_982', 'count_women_983', 'count_women_984', 'count_women_985', 'count_women_986', 'count_women_987', 'count_women_988', 'count_women_989', 'count_women_990', 'count_women_991', 'count_women_992', 'count_women_993', 'count_women_994', 'count_women_995', 'count_women_996', 'count_women_997', 'count_women_998', 'count_women_999', 'count_women_1000', 'count_women_1001', 'count_women_1002', 'count_women_1003', 'count_women_1004', 'count_women_1005', 'count_women_1006', 'count_women_1007', 'count_women_1008', 'count_women_1009', 'count_women_1010', 'count_women_1011', 'count_women_1012', 'count_women_1013', 'count_women_1014', 'count_women_1015', 'count_women_1016', 'count_women_1017', 'count_women_1018', 'count_women_1019', 'count_women_1020', 'count_women_1021', 'count_women_1022', 'count_women_1023', 'count_women_1024', 'count_women_1025', 'count_women_1026', 'count_women_1027', 'count_women_1028', 'count_women_1029', 'count_women_1030', 'count_women_1031', 'count_women_1032', 'count_women_1033', 'count_women_1034', 'count_women_1035', 'count_women_1036', 'count_women_1037', 'count_women_1038', 'count_women_1039', 'count_women_1040', 'count_women_1041', 'count_women_1042', 'count_women_1043', 'count_women_1044', 'count_women_1045', 'count_women_1046', 'count_women_1047', 'count_women_1048', 'count_women_1049', 'count_women_1050', 'count_women_1051', 'count_women_1052', 'count_women_1053', 'count_women_1054', 'count_women_1055', 'count_women_1056', 'count_women_1057', 'count_women_1058', 'count_women_1059', 'count_women_1060', 'count_women_1061', 'count_women_1062', 'count_women_1063', 'count_women_1064', 'count_women_1065', 'count_women_1066', 'count_women_1067', 'count_women_1068', 'count_women_1069', 'count_women_1070', 'count_women_1071', 'count_women_1072', 'count_women_1073', 'count_women_1074', 'count_women_1075', 'count_women_1076', 'count_women_1077', 'count_women_1078', 'count_women_1079', 'count_women_1080', 'count_women_1081', 'count_women_1082', 'count_women_1083', 'count_women_1084', 'count_women_1085', 'count_women_1086', 'count_women_1087', 'count_women_1088', 'count_women_1089', 'count_women_1090', 'count_women_1091', 'count_women_1092', 'count_women_1093', 'count_women_1094', 'count_women_1095', 'count_women_1096', 'count_women_1097', 'count_women_1098', 'count_women_1099', 'count_women_1100', 'count_women_1101', 'count_women_1102', 'count_women_1103', 'count_women_1104', 'count_women_1105', 'count_women_1106', 'count_women_1107', 'count_women_1108', 'count_women_1109', 'count_women_1110', 'count_women_1111', 'count_women_1112', 'count_women_1113', 'count_women_1114', 'count_women_1115', 'count_women_1116', 'count_women_1117', 'count_women_1118', 'count_women_1119', 'count_women_1120', 'count_women_1121', 'count_women_1122', 'count_women_1123', 'count_women_1124', 'count_women_1125', 'count_women_1126', 'count_women_1127', 'count_women_1128', 'count_women_1129', 'count_women_1130', 'count_women_1131', 'count_women_1132', 'count_women_1133', 'count_women_1134', 'count_women_1135', 'count_women_1136', 'count_women_1137', 'count_women_1138', 'count_women_1139', 'count_women_1140', 'count_women_1141', 'count_women_1142', 'count_women_1143', 'count_women_1144', 'count_women_1145', 'count_women_1146', 'count_women_1147', 'count_women_1148', 'count_women_1149', 'count_women_1150', 'count_women_1151', 'count_women_1152', 'count_women_1153', 'count_women_1154', 'count_women_1155', 'count_women_1156', 'count_women_1157', 'count_women_1158', 'count_women_1159', 'count_women_1160', 'count_women_1161', 'count_women_1162', 'count_women_1163', 'count_women_1164', 'count_women_1165', 'count_women_1166', 'count_women_1167', 'count_women_1168', 'count_women_1169', 'count_women_1170', 'count_women_1171', 'count_women_1172', 'count_women_1173', 'count_women_1174', 'count_women_1175', 'count_women_1176', 'count_women_1177', 'count_women_1178', 'count_women_1179', 'count_women_1180', 'count_women_1181', 'count_women_1182', 'count_women_1183', 'count_women_1184', 'count_women_1185', 'count_women_1186', 'count_women_1187', 'count_women_1188', 'count_women_1189', 'count_women_1190', 'count_women_1191', 'count_women_1192', 'count_women_1193', 'count_women_1194', 'count_women_1195', 'count_women_1196', 'count_women_1197', 'count_women_1198', 'count_women_1199', 'count_women_1200', 'count_women_1201', 'count_women_1202', 'count_women_1203', 'count_women_1204', 'count_women_1205', 'count_women_1206', 'count_women_1207', 'count_women_1208', 'count_women_1209', 'count_women_1210', 'count_women_1211', 'count_women_1212', 'count_women_1213', 'count_women_1214', 'count_women_1215', 'count_women_1216', 'count_women_1217', 'count_women_1218', 'count_women_1219', 'count_women_1220', 'count_women_1221', 'count_women_1222', 'count_women_1223', 'count_women_1224', 'count_women_1225', 'count_women_1226', 'count_women_1227', 'count_women_1228', 'count_women_1229', 'count_women_1230', 'count_women_1231', 'count_women_1232', 'count_women_1233', 'count_women_1234', 'count_women_1235', 'count_women_1236', 'count_women_1237', 'count_women_1238', 'count_women_1239', 'count_women_1240', 'count_women_1241', 'count_women_1242', 'count_women_1243', 'count_women_1244', 'count_women_1245', 'count_women_1246', 'count_women_1247', 'count_women_1248', 'count_women_1249', 'count_women_1250', 'count_women_1251', 'count_women_1252', 'count_women_1253', 'count_women_1254', 'count_women_1255', 'count_women_1256', 'count_women_1257', 'count_women_1258', 'count_women_1259', 'count_women_1260', 'count_women_1261', 'count_women_1262', 'count_women_1263', 'count_women_1264', 'count_women_1265', 'count_women_1266', 'count_women_1267', 'count_women_1268', 'count_women_1269', 'count_women_1270', 'count_women_1271', 'count_women_1272', 'count_women_1273', 'count_women_1274', 'count_women_1275', 'count_women_1276', 'count_women_1277', 'count_women_1278', 'count_women_1279', 'count_women_1280', 'count_women_1281', 'count_women_1282', 'count_women_1283', 'count_women_1284', 'count_women_1285', 'count_women_1286', 'count_women_1287', 'count_women_1288', 'count_women_1289', 'count_women_1290', 'count_women_1291', 'count_women_1292', 'count_women_1293', 'count_women_1294', 'count_women_1295', 'count_women_1296', 'count_women_1297', 'count_women_1298', 'count_women_1299', 'count_women_1300', 'count_women_1301', 'count_women_1302', 'count_women_1303', 'count_women_1304', 'count_women_1305', 'count_women_1306', 'count_women_1307', 'count_women_1308', 'count_women_1309', 'count_women_1310', 'count_women_1311', 'count_women_1312', 'count_women_1313', 'count_women_1314', 'count_women_1315', 'count_women_1316', 'count_women_1317', 'count_women_1318', 'count_women_1319', 'count_women_1320', 'count_women_1321', 'count_women_1322', 'count_women_1323', 'count_women_1324', 'count_women_1325', 'count_women_1326', 'count_women_1327', 'count_women_1328', 'count_women_1329', 'count_women_1330', 'count_women_1331', 'count_women_1332', 'count_women_1333', 'count_women_1334', 'count_women_1335', 'count_women_1336', 'count_women_1337', 'count_women_1338', 'count_women_1339', 'count_women_1340', 'count_women_1341', 'count_women_1342', 'count_women_1343', 'count_women_1344', 'count_women_1345', 'count_women_1346', 'count_women_1347', 'count_women_1348', 'count_women_1349', 'count_women_1350', 'count_women_1351', 'count_women_1352', 'count_women_1353', 'count_women_1354', 'count_women_1355', 'count_women_1356', 'count_women_1357', 'count_women_1358', 'count_women_1359', 'count_women_1360', 'count_women_1361', 'count_women_1362', 'count_women_1363', 'count_women_1364', 'count_women_1365', 'count_women_1366', 'count_women_1367', 'count_women_1368', 'count_women_1369', 'count_women_1370', 'count_women_1371', 'count_women_1372', 'count_women_1373', 'count_women_1374', 'count_women_1375', 'count_women_1376', 'count_women_1377', 'count_women_1378', 'count_women_1379', 'count_women_1380', 'count_women_1381', 'count_women_1382', 'count_women_1383', 'count_women_1384', 'count_women_1385', 'count_women_1386', 'count_women_1387', 'count_women_1388', 'count_women_1389', 'count_women_1390', 'count_women_1391', 'count_women_1392', 'count_women_1393', 'count_women_1394', 'count_women_1395', 'count_women_1396', 'count_women_1397', 'count_women_1398', 'count_women_1399', 'count_women_1400', 'count_women_1401', 'count_women_1402', 'count_women_1403', 'count_women_1404', 'count_women_1405', 'count_women_1406', 'count_women_1407', 'count_women_1408', 'count_women_1409', 'count_women_1410', 'count_women_1411', 'count_women_1412', 'count_women_1413', 'count_women_1500', 'count_women_1501', 'count_women_1502', 'count_women_1503', 'count_women_1504', 'count_women_1505', 'count_women_1506', 'count_women_1507', 'count_women_1508', 'count_women_1509', 'count_women_1510', 'count_women_1511', 'count_women_1512', 'count_women_1513', 'count_women_1514', 'count_women_1515', 'count_women_1516', 'count_women_1517', 'count_women_1518', 'count_women_1519', 'count_women_1520', 'count_women_1521', 'count_women_1522', 'count_women_1523', 'count_women_1524', 'count_women_1525', 'count_women_1526', 'count_women_1527', 'count_women_1528', 'count_women_1529', 'count_women_1530', 'count_women_1531', 'count_women_1532', 'count_women_1533', 'count_women_1534', 'count_women_1535', 'count_women_1536', 'count_women_1537', 'count_women_1538', 'count_women_1539', 'count_women_1540', 'count_women_1541', 'count_women_1542', 'count_women_1543', 'count_women_1544', 'count_women_1545', 'count_women_1546', 'count_women_1547', 'count_women_1548', 'count_women_1549', 'count_women_1550', 'count_women_1551', 'count_women_1552', 'count_women_1553', 'count_women_1554', 'count_women_1555', 'count_women_1556', 'count_women_1557', 'count_women_1558', 'count_women_1559', 'count_women_1560', 'count_women_1561', 'count_women_1562', 'count_women_1563', 'count_women_1564', 'count_women_1565', 'count_women_1566', 'count_women_1567', 'count_women_1568', 'count_women_1569', 'count_women_1570', 'count_women_1571', 'count_women_1572', 'count_women_1573', 'count_women_1574', 'count_women_1575', 'count_women_1576', 'count_women_1577', 'count_women_1578', 'count_women_1579', 'count_women_1580', 'count_women_1581', 'count_women_1582', 'count_women_1583', 'count_women_1584', 'count_women_1585', 'count_women_1586', 'count_women_1587', 'count_women_1588', 'count_women_1589', 'count_women_1590', 'count_women_1591', 'count_women_1592', 'count_women_1593', 'count_women_1594', 'count_women_1595', 'count_women_1596', 'count_women_1597', 'count_women_1598', 'count_women_1599', 'count_women_1600', 'count_women_1601', 'count_women_1602', 'count_women_1603', 'count_women_1604', 'count_women_1605', 'count_women_1606', 'count_women_1607', 'count_women_1608', 'count_women_1609', 'count_women_1610', 'count_women_1611', 'count_women_1612', 'count_women_1613', 'count_women_1614', 'count_women_1615', 'count_women_1616', 'count_women_1617', 'count_women_1618', 'count_women_1619', 'count_women_1620', 'count_women_1621', 'count_women_1622', 'count_women_1623', 'count_women_1624', 'count_women_1625', 'count_women_1626', 'count_women_1627', 'count_women_1628', 'count_women_1629', 'count_women_1630', 'count_women_1631', 'count_women_1632', 'count_women_1633', 'count_women_1634', 'count_women_1635', 'count_women_1636', 'count_women_1637', 'count_women_1638', 'count_women_1639', 'count_women_1640', 'count_women_1641', 'count_women_1642', 'count_women_1643', 'count_women_1644', 'count_women_1645', 'count_women_1646', 'count_women_1647', 'count_women_1648', 'count_women_1649', 'count_women_1650', 'count_women_1651', 'count_women_1652', 'count_women_1653', 'count_women_1654', 'count_women_1655', 'count_women_1656', 'count_women_1657', 'count_women_1658', 'count_women_1659', 'count_women_1660', 'count_women_1661', 'count_women_1662', 'count_women_1663', 'count_women_1664', 'count_women_1665', 'count_women_1666', 'count_women_1667', 'count_women_1668', 'count_women_1669', 'count_women_1670', 'count_women_1671', 'count_women_1672', 'count_women_1673', 'count_women_1674', 'count_women_1675', 'count_women_1676', 'count_women_1677', 'count_women_1678', 'count_women_1679', 'count_women_1680', 'count_women_1681', 'count_women_1682', 'count_women_1683', 'count_women_1684', 'count_women_1685', 'count_women_1686', 'count_women_1687', 'count_women_1688', 'count_women_1689', 'count_women_1690', 'count_women_1691', 'count_women_1692', 'count_women_1693', 'count_women_1694', 'count_women_1695', 'count_women_1696', 'count_women_1697', 'count_women_1698', 'count_women_1699', 'count_women_1700', 'count_women_1701', 'count_women_1702', 'count_women_1703', 'count_women_1704', 'count_women_1705', 'count_women_1706', 'count_women_1707', 'count_women_1708', 'count_women_1709', 'count_women_1710', 'count_women_1711', 'count_women_1712', 'count_women_1713', 'count_women_1714', 'count_women_1715', 'count_women_1716', 'count_women_1717', 'count_women_1718', 'count_women_1719', 'count_women_1720', 'count_women_1721', 'count_women_1722', 'count_women_1723', 'count_women_1724', 'count_women_1725', 'count_women_1726', 'count_women_1727', 'count_women_1728', 'count_women_1729', 'count_women_1730', 'count_women_1731', 'count_women_1732', 'count_women_1733', 'count_women_1734', 'count_women_1735', 'count_women_1736', 'count_women_1737', 'count_women_1738', 'count_women_1739', 'count_women_1740', 'count_women_1741', 'count_women_1742', 'count_women_1743', 'count_women_1744', 'count_women_1745', 'count_women_1746', 'count_women_1747', 'count_women_1748', 'count_women_1749', 'count_women_1750', 'count_women_1751', 'count_women_1752', 'count_women_1753', 'count_women_1754', 'count_women_1755', 'count_women_1756', 'count_women_1757', 'count_women_1758', 'count_women_1759', 'count_women_1760', 'count_women_1761', 'count_women_1762', 'count_women_1763', 'count_women_1764', 'count_women_1765', 'count_women_1766', 'count_women_1767', 'count_women_1768', 'count_women_1769', 'count_women_1770', 'count_women_1771', 'count_women_1772', 'count_women_1773', 'count_women_1774', 'count_women_1775', 'count_women_1776', 'count_women_1777', 'count_women_1778', 'count_women_1779', 'count_women_1780', 'count_women_1781', 'count_women_1782', 'count_women_1783', 'count_women_1784', 'count_women_1785', 'count_women_1786', 'count_women_1787', 'count_women_1788', 'count_women_1789', 'count_women_1790', 'count_women_1791', 'count_women_1792', 'count_women_1793', 'count_women_1794', 'count_women_1795', 'count_women_1796', 'count_women_1797', 'count_women_1798', 'count_women_1799', 'count_women_1800', 'count_women_1801', 'count_women_1802', 'count_women_1803', 'count_women_1804', 'count_women_1805', 'count_women_1806', 'count_women_1807', 'count_women_1808', 'count_women_1809', 'count_women_1810', 'count_women_1811', 'count_women_1812', 'count_women_1813', 'count_women_1814', 'count_women_1815', 'count_women_1816', 'count_women_1817', 'count_women_1818', 'count_women_1819', 'count_women_1820', 'count_women_1821', 'count_women_1822', 'count_women_1823', 'count_women_1824', 'count_women_1825', 'count_women_1826', 'count_women_1827', 'count_women_1828', 'count_women_1829', 'count_women_1830', 'count_women_1831', 'count_women_1832', 'count_women_1833', 'count_women_1834', 'count_women_1835', 'count_women_1836', 'count_women_1837', 'count_women_1838', 'count_women_1839', 'count_women_1840', 'count_women_1841', 'count_women_1842', 'count_women_1843', 'count_women_1844', 'count_women_1845', 'count_women_1846', 'count_women_1847', 'count_women_1848', 'count_women_1849', 'count_women_1850', 'count_women_1851', 'count_women_1852', 'count_women_1853', 'count_women_1854', 'count_women_1855', 'count_women_1856', 'count_women_1857', 'count_women_1858', 'count_women_1859', 'count_women_1860', 'count_women_1861', 'count_women_1862', 'count_women_1863', 'count_women_1864', 'count_women_1865', 'count_women_1866', 'count_women_1867', 'count_women_1868', 'count_women_1869', 'count_women_1870', 'count_women_1871', 'count_women_1872', 'count_women_1873', 'count_women_1874', 'count_women_1875', 'count_women_1876', 'count_women_1877', 'count_women_1878', 'count_women_1879', 'count_women_1880', 'count_women_1881', 'count_women_1882', 'count_women_1883', 'count_women_1884', 'count_women_1885', 'count_women_1886', 'count_women_1887', 'count_women_1888', 'count_women_1889', 'count_women_1890', 'count_women_1891', 'count_women_1892', 'count_women_1893', 'count_women_1894', 'count_women_1895', 'count_women_1896', 'count_women_1897', 'count_women_1898', 'count_women_1899', 'count_women_1900', 'count_women_1901', 'count_women_1902', 'count_women_1903', 'count_women_1904', 'count_women_1905', 'count_women_1906', 'count_women_1907', 'count_women_1908', 'count_women_1909', 'count_women_1910', 'count_women_1911', 'count_women_1912', 'count_women_1913', 'count_women_1914', 'count_women_1915', 'count_women_1916', 'count_women_1917', 'count_women_1918', 'count_women_1919', 'count_women_1920', 'count_women_1921', 'count_women_1922', 'count_women_1923', 'count_women_1924', 'count_women_1925', 'count_women_1926', 'count_women_1927', 'count_women_1928', 'count_women_1929', 'count_women_1930', 'count_women_1931', 'count_women_1932', 'count_women_1933', 'count_women_1934', 'count_women_1935', 'count_women_1936', 'count_women_1937', 'count_women_1938', 'count_women_1939', 'count_women_1940', 'count_women_1941', 'count_women_1942', 'count_women_1943', 'count_women_1944', 'count_women_1945', 'count_women_1946', 'count_women_1947', 'count_women_1948', 'count_women_1949', 'count_women_1950', 'count_women_1951', 'count_women_1952', 'count_women_1953', 'count_women_1954', 'count_women_1955', 'count_women_1956', 'count_women_1957', 'count_women_1958', 'count_women_1959', 'count_women_1960', 'count_women_1961', 'count_women_1962', 'count_women_1963', 'count_women_1964', 'count_women_1965', 'count_women_1966', 'count_women_1967', 'count_women_1968', 'count_women_1969', 'count_women_1970', 'count_women_1971', 'count_women_1972', 'count_women_1973', 'count_women_1974', 'count_women_1975', 'count_women_1976', 'count_women_1977', 'count_women_1978', 'count_women_1979', 'count_women_1980', 'count_women_1981', 'count_women_1982', 'count_women_1983', 'count_women_1984', 'count_women_1985', 'count_women_1986', 'count_women_1987', 'count_women_1988', 'count_women_1989', 'count_women_1990', 'count_women_1991', 'count_women_1992', 'count_women_1993', 'count_women_1994', 'count_women_1995', 'count_women_1996', 'count_women_1997', 'count_women_1998', 'count_women_1999', 'count_women_2000', 'count_women_2001', 'count_women_2002', 'count_women_2003', 'count_women_2004', 'count_women_2005', 'count_women_2006', 'count_women_2007', 'count_women_2008', 'count_women_2009', 'count_women_2010', 'count_women_2011', 'count_women_2012', 'count_women_2013', 'count_women_2014', 'count_women_2015', 'count_women_2016', 'count_women_2017', 'count_women_2018', 'count_women_2019', 'count_women_2020', 'count_women_2021', 'count_women_2022', 'count_women_2023', 'count_women_2024', 'count_women_2025', 'count_women_2026', 'count_women_2027', 'count_women_2028', 'count_women_2029', 'count_women_2030', 'count_women_2031', 'count_women_2032', 'count_women_2033', 'count_women_2034', 'count_women_2035', 'count_women_2036', 'count_women_2037', 'count_women_2038', 'count_women_2039', 'count_women_2040', 'count_women_2041', 'count_women_2042', 'count_women_2043', 'count_women_2044', 'count_women_2045', 'count_women_2046', 'count_women_2047', 'count_women_2048', 'count_women_2049', 'count_women_2050', 'count_women_2051', 'count_women_2052', 'count_women_2053', 'count_women_2054', 'count_women_2055', 'count_women_2056', 'count_women_2057', 'count_women_2058', 'count_women_2059', 'count_women_2060', 'count_women_2061', 'count_women_2062', 'count_women_2063', 'count_women_2064', 'count_women_2065', 'count_women_2066', 'count_women_2067', 'count_women_2068', 'count_women_2069', 'count_women_2070', 'count_women_2071', 'count_women_2072', 'count_women_2073', 'count_women_2074', 'count_women_2075', 'count_women_2076', 'count_women_2077', 'count_women_2078', 'count_women_2079', 'count_women_2080', 'count_women_2081', 'count_women_2082', 'count_women_2083', 'count_women_2084', 'count_women_2085', 'count_women_2086', 'count_women_2087', 'count_women_2088', 'count_women_2089', 'count_women_2090', 'count_women_2091', 'count_women_2092', 'count_women_2093', 'count_women_2094', 'count_women_2095', 'count_women_2096', 'count_women_2097', 'count_women_2098', 'count_women_2099', 'count_women_2100', 'count_women_2101', 'count_women_2102', 'count_women_2103', 'count_women_2104', 'count_women_2105', 'count_women_2106', 'count_women_2107', 'count_women_2108', 'count_women_2109', 'count_women_2110', 'count_women_2111', 'count_women_2112', 'count_women_2113', 'count_women_2114', 'count_women_2115', 'count_women_2116', 'count_women_2117', 'count_women_2118', 'count_women_2119', 'count_women_2120', 'count_women_2121', 'count_women_2122', 'count_women_2123', 'count_women_2124', 'count_women_2125', 'count_women_2126', 'count_women_2127', 'count_women_2128', 'count_women_2129', 'count_women_2130', 'count_women_2131', 'count_women_2132', 'count_women_2133', 'count_women_2134', 'count_women_2135', 'count_women_2136', 'count_women_2137', 'count_women_2138', 'count_women_2139', 'count_women_2140', 'count_women_2141', 'count_women_2142', 'count_women_2143', 'count_women_2144', 'count_women_2145', 'count_women_2146', 'count_women_2147', 'count_women_2148', 'count_women_2149', 'count_women_2150', 'count_women_2151', 'count_women_2152', 'count_women_2153', 'count_women_2154', 'count_women_2155', 'count_women_2156', 'count_women_2157', 'count_women_2158', 'count_women_2159', 'count_women_2160', 'count_women_2161', 'count_women_2162', 'count_women_2163', 'count_women_2164', 'count_women_2165', 'count_women_2166', 'count_women_2167', 'count_women_2168', 'count_women_2169', 'count_women_2170', 'count_women_2171', 'count_women_2172', 'count_women_2173', 'count_women_2174', 'count_women_2175', 'count_women_2176', 'count_women_2177', 'count_women_2178', 'count_women_2179', 'count_women_2180', 'count_women_2181', 'count_women_2182', 'count_women_2183', 'count_women_2184', 'count_women_2185', 'count_women_2186', 'count_women_2187', 'count_women_2188', 'count_women_2189', 'count_women_2190', 'count_women_2191', 'count_women_2192', 'count_women_2193', 'count_women_2194', 'count_women_2195', 'count_women_2196', 'count_women_2197', 'count_women_2198', 'count_women_2199', 'count_women_2200', 'count_women_2201', 'count_women_2202', 'count_women_2203', 'count_women_2204', 'count_women_2205', 'count_women_2206', 'count_women_2207', 'count_women_2208', 'count_women_2209', 'count_women_2210', 'count_women_2211', 'count_women_2212', 'count_women_2213', 'count_women_2214', 'count_women_2215', 'count_women_2216', 'count_women_2217', 'count_women_2218', 'count_women_2219', 'count_women_2220', 'count_women_2221', 'count_women_2222', 'count_women_2223', 'count_women_2224', 'count_women_2225', 'count_women_2226', 'count_women_2227', 'count_women_2228', 'count_women_2229', 'count_women_2230', 'count_women_2231', 'count_women_2232', 'count_women_2233', 'count_women_2234', 'count_women_2235', 'count_women_2236', 'count_women_2237', 'count_women_2238', 'count_women_2239', 'count_women_2240', 'count_women_2241', 'count_women_2242', 'count_women_2243', 'count_women_2244', 'count_women_2245', 'count_women_2246', 'count_women_2247', 'count_women_2248', 'count_women_2249', 'count_women_2250', 'count_women_2251', 'count_women_2252', 'count_women_2253', 'count_women_2254', 'count_women_2255', 'count_women_2256', 'count_women_2257', 'count_women_2258', 'count_women_2259', 'count_women_2260', 'count_women_2261', 'count_women_2262', 'count_women_2263', 'count_women_2264', 'count_women_2265', 'count_women_2266', 'count_women_2267', 'count_women_2268', 'count_women_2269', 'count_women_2270', 'count_women_2271', 'count_women_2272', 'count_women_2273', 'count_women_2274', 'count_women_2275', 'count_women_2276', 'count_women_2277', 'count_women_2278', 'count_women_2279', 'count_women_2280', 'count_women_2281', 'count_women_2282', 'count_women_2283', 'count_women_2284', 'count_women_2285', 'count_women_2286', 'count_women_2287', 'count_women_2288', 'count_women_2289', 'count_women_2290', 'count_women_2291', 'count_women_2292', 'count_women_2293', 'count_women_2294', 'count_women_2295', 'count_women_2296', 'count_women_2297', 'count_women_2298', 'count_women_2299', 'count_women_2300', 'count_women_2301', 'count_women_2302', 'count_women_2303', 'count_women_2304', 'count_women_2305', 'count_women_2306', 'count_women_2307', 'count_women_2308', 'count_women_2309', 'count_women_2310', 'count_women_2311', 'count_women_2312', 'count_women_2313', 'count_women_2314', 'count_women_2315', 'count_women_2316', 'count_women_2317', 'count_women_2318', 'count_women_2319', 'count_women_2320', 'count_women_2321', 'count_women_2322', 'count_women_2323', 'count_women_2324', 'count_women_2325', 'count_women_2326', 'count_women_2327', 'count_women_2328', 'count_women_2329', 'count_women_2330', 'count_women_2331', 'count_women_2332', 'count_women_2333', 'count_women_2334', 'count_women_2335', 'count_women_2336', 'count_women_2337', 'count_women_2338', 'count_women_2339', 'count_women_2340', 'count_women_2341', 'count_women_2342', 'count_women_2343', 'count_women_2344', 'count_women_2345', 'count_women_2346', 'count_women_2347', 'count_women_2348', 'count_women_2349', 'count_women_2350', 'count_women_2351', 'count_women_2352', 'count_women_2353', 'count_women_2354', 'count_women_2355', 'count_women_2356', 'count_women_2357', 'count_women_2358', 'count_women_2359', 'count_women_2360', 'count_women_2361', 'count_women_2362', 'count_women_2363', 'count_women_2364', 'count_women_2365', 'count_women_2366', 'count_women_2367', 'count_women_2368', 'count_women_2369', 'count_women_2370', 'count_women_2371', 'count_women_2372', 'count_women_2373', 'count_women_2374', 'count_women_2375', 'count_women_2376', 'count_women_2377', 'count_women_2378', 'count_women_2379', 'count_women_2380', 'count_women_2381', 'count_women_2382', 'count_women_2383', 'count_women_2384', 'count_women_2385', 'count_women_2386', 'count_women_2387', 'count_women_2388', 'count_women_2389', 'count_women_2390', 'count_women_2391', 'count_women_2392', 'count_women_2393', 'count_women_2394', 'count_women_2395', 'count_women_2396', 'count_women_2397', 'count_women_2398', 'count_women_2399', 'count_women_2400', 'count_women_2401', 'count_women_2402', 'count_women_2403', 'count_women_2404', 'count_women_2405', 'count_women_2406', 'count_women_2407', 'count_women_2408', 'count_women_2409', 'count_women_2410', 'count_women_2411', 'count_women_2412', 'count_women_2413', 'count_women_2414', 'count_women_2415', 'count_women_2416', 'count_women_2417', 'count_women_2418', 'count_women_2419', 'count_women_2420', 'count_women_2421', 'count_women_2422', 'count_women_2423', 'count_women_2424', 'count_women_2425', 'count_women_2426', 'count_women_2427', 'count_women_2428', 'count_women_2429', 'count_women_2430', 'count_women_2431', 'count_women_2432', 'count_women_2433', 'count_women_2434', 'count_women_2435', 'count_women_2436', 'count_women_2437', 'count_women_2438', 'count_women_2439', 'count_women_2440', 'count_women_2441', 'count_women_2442', 'count_women_2443', 'count_women_2444', 'count_women_2445', 'count_women_2446', 'count_women_2447', 'count_women_2448', 'count_women_2449', 'count_women_2450', 'count_women_2451', 'count_women_2452', 'count_women_2453', 'count_women_2454', 'count_women_2455', 'count_women_2456', 'count_women_2457', 'count_women_2458', 'count_women_2459', 'count_women_2460', 'count_women_2461', 'count_women_2462', 'count_women_2463', 'count_women_2464', 'count_women_2465', 'count_women_2466', 'count_women_2467', 'count_women_2468', 'count_women_2469', 'count_women_2470', 'count_women_2471', 'count_women_2472', 'count_women_2473', 'count_women_2474', 'count_women_2475', 'count_women_2476', 'count_women_2477', 'count_women_2478', 'count_women_2479', 'count_women_2480', 'count_women_2481', 'count_women_2482', 'count_women_2483', 'count_women_2484', 'count_women_2485', 'count_women_2486', 'count_women_2487', 'count_women_2488', 'count_women_2489', 'count_women_2490', 'count_women_2491', 'count_women_2492', 'count_women_2493', 'count_women_2494', 'count_women_2495', 'count_women_2496', 'count_women_2497', 'count_women_2498', 'count_women_2499', 'count_women_2500', 'count_women_2501', 'count_women_2502', 'count_women_2503', 'count_women_2504', 'count_women_2505', 'count_women_2506', 'count_women_2507', 'count_women_2508', 'count_women_2509', 'count_women_2510', 'count_women_2511', 'count_women_2512', 'count_women_2513', 'count_women_2514', 'count_women_2515', 'count_women_2516', 'count_women_2517', 'count_women_2518', 'count_women_2519', 'count_women_2520', 'count_women_2521', 'count_women_2522', 'count_women_2523', 'count_women_2524', 'count_women_2525', 'count_women_2526', 'count_women_2527', 'count_women_2528', 'count_women_2529', 'count_women_2530', 'count_women_2531', 'count_women_2532', 'count_women_2533', 'count_women_2534', 'count_women_2535', 'count_women_2536', 'count_women_2537', 'count_women_2538', 'count_women_2539', 'count_women_2540', 'count_women_2541', 'count_women_2542', 'count_women_2543', 'count_women_2544', 'count_women_2545', 'count_women_2546', 'count_women_2547', 'count_women_2548', 'count_women_2549', 'count_women_2550', 'count_women_2551', 'count_women_2552', 'count_women_2553', 'count_women_2554', 'count_women_2555', 'count_women_2556', 'count_women_2557', 'count_women_2558', 'count_women_2559', 'count_women_2560', 'count_women_2561', 'count_women_2562', 'count_women_2563', 'count_women_2564', 'count_women_2565', 'count_women_2566', 'count_women_2567', 'count_women_2568', 'count_women_2569', 'count_women_2570', 'count_women_2571', 'count_women_2572', 'count_women_2573', 'count_women_2574', 'count_women_2575', 'count_women_2576', 'count_women_2577', 'count_women_2578', 'count_women_2579', 'count_women_2580', 'count_women_2581', 'count_women_2582', 'count_women_2583', 'count_women_2584', 'count_women_2585', 'count_women_2586', 'count_women_2587', 'count_women_2588', 'count_women_2589', 'count_women_2590', 'count_women_2591', 'count_women_2592', 'count_women_2593', 'count_women_2594', 'count_women_2595', 'count_women_2596', 'count_women_2597', 'count_women_2598', 'count_women_2599', 'count_women_2600', 'count_women_2601', 'count_women_2602', 'count_women_2603', 'count_women_2604', 'count_women_2605', 'count_women_2606', 'count_women_2607', 'count_women_2608', 'count_women_2609', 'count_women_2610', 'count_women_2611', 'count_women_2612', 'count_women_2613', 'count_women_2614', 'count_women_2615', 'count_women_2616', 'count_women_2617', 'count_women_2618', 'count_women_2619', 'count_women_2620', 'count_women_2621', 'count_women_2622', 'count_women_2623', 'count_women_2624', 'count_women_2625', 'count_women_2626', 'count_women_2627', 'count_women_2628', 'count_women_2629', 'count_women_2630', 'count_women_2631'];
|
|
|
|
let currentField = 'count_total_1';
|
|
let currentClassification = null;
|
|
let mapLoaded = false;
|
|
|
|
// Get field from URL parameters
|
|
function getFieldFromURL() {
|
|
const urlParams = new URLSearchParams(window.location.search);
|
|
const fieldParam = urlParams.get('field');
|
|
if (fieldParam && availableFields.includes(fieldParam)) {
|
|
return fieldParam;
|
|
}
|
|
return 'count_total_1'; // default
|
|
}
|
|
|
|
// Update URL with current field
|
|
function updateURL(field) {
|
|
const url = new URL(window.location);
|
|
url.searchParams.set('field', field);
|
|
window.history.replaceState({}, '', url);
|
|
}
|
|
|
|
// Initialize field from URL
|
|
currentField = getFieldFromURL();
|
|
document.getElementById('currentField').textContent = `Current field: ${currentField}`;
|
|
|
|
const map = new maplibregl.Map({
|
|
container: 'map',
|
|
style: {
|
|
version: 8,
|
|
sources: {
|
|
'openstreetmap': {
|
|
type: 'raster',
|
|
tiles: [
|
|
'https://tile.openstreetmap.org/{z}/{x}/{y}.png'
|
|
],
|
|
tileSize: 256,
|
|
attribution: '© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors'
|
|
}
|
|
},
|
|
layers: [
|
|
{
|
|
id: 'osm',
|
|
type: 'raster',
|
|
source: 'openstreetmap'
|
|
}
|
|
]
|
|
},
|
|
zoom: 10,
|
|
center: [-75.695000, 45.424721],
|
|
hash: true,
|
|
maxZoom: 18,
|
|
attributionControl: false, // would love to have on, it was just taking needed space
|
|
dragRotate: false, // disable drag rotation
|
|
keyboard: false, // disable keyboard interactions
|
|
pitchWithRotate: false // disable pitch with rotate
|
|
});
|
|
|
|
map.on('style.load', () => {
|
|
map.setProjection({
|
|
type: 'globe',
|
|
});
|
|
});
|
|
|
|
map.on('load', () => {
|
|
mapLoaded = true;
|
|
map.addSource('my-vector-tiles', {
|
|
type: 'vector',
|
|
tiles: ['https://tiles.diegoripley.ca/files/census_of_population_vector_tiles_subset_august_12_2025/da_2021_cop/{z}/{x}/{y}.mvt'],
|
|
minzoom: 8,
|
|
maxzoom: 14
|
|
});
|
|
|
|
map.addControl(new maplibregl.FullscreenControl(), 'top-left');
|
|
// Disable only the rotation aspect
|
|
map.touchZoomRotate.disableRotation();
|
|
|
|
// Use CKMeans by default
|
|
addVisualizationLayerWithCKMeans(currentField);
|
|
});
|
|
|
|
// Search functionality
|
|
const searchInput = document.getElementById('fieldSearch');
|
|
const searchResults = document.getElementById('searchResults');
|
|
const currentFieldDiv = document.getElementById('currentField');
|
|
const recalculateBtn = document.getElementById('recalculateBtn');
|
|
const classificationInfo = document.getElementById('classificationInfo');
|
|
|
|
searchInput.addEventListener('input', (e) => {
|
|
const query = e.target.value.toLowerCase();
|
|
|
|
if (query.length === 0) {
|
|
searchResults.style.display = 'none';
|
|
return;
|
|
}
|
|
|
|
const filtered = availableFields.filter(field =>
|
|
field.toLowerCase().includes(query)
|
|
).slice(0, 5); // Limit to 5 results
|
|
|
|
if (filtered.length === 0) {
|
|
searchResults.innerHTML = '<div class="search-item">No fields found</div>';
|
|
} else {
|
|
searchResults.innerHTML = filtered.map(field =>
|
|
`<div class="search-item" data-field="${field}">${field}</div>`
|
|
).join('');
|
|
}
|
|
|
|
searchResults.style.display = 'block';
|
|
});
|
|
|
|
searchResults.addEventListener('click', (e) => {
|
|
if (e.target.classList.contains('search-item')) {
|
|
const selectedField = e.target.getAttribute('data-field');
|
|
if (selectedField && selectedField !== currentField) {
|
|
currentField = selectedField;
|
|
currentFieldDiv.textContent = `Current field: ${currentField}`;
|
|
searchInput.value = '';
|
|
searchResults.style.display = 'none';
|
|
|
|
// Update URL
|
|
updateURL(currentField);
|
|
|
|
// Use CKMeans by default when switching fields
|
|
addVisualizationLayerWithCKMeans(currentField);
|
|
}
|
|
}
|
|
});
|
|
|
|
// Hide search results when clicking outside
|
|
document.addEventListener('click', (e) => {
|
|
if (!e.target.closest('.search-container')) {
|
|
searchResults.style.display = 'none';
|
|
}
|
|
});
|
|
|
|
// Recalculate button handler
|
|
recalculateBtn.addEventListener('click', () => {
|
|
recalculateClassesFromExtent();
|
|
});
|
|
|
|
function calculateCKMeansBreaks(features, field, numClasses = 5) {
|
|
const values = features
|
|
.map(f => f.properties[field])
|
|
.filter(v => v !== null && v !== undefined && !isNaN(v));
|
|
|
|
if (values.length === 0) return null;
|
|
|
|
// Remove duplicates and sort
|
|
const uniqueValues = [...new Set(values)].sort((a, b) => a - b);
|
|
|
|
// If we have fewer unique values than classes, adjust the number of classes
|
|
const actualNumClasses = Math.min(numClasses, uniqueValues.length);
|
|
|
|
if (actualNumClasses === 1) {
|
|
return {
|
|
breaks: [uniqueValues[0], uniqueValues[0]],
|
|
colors: ['#ff0000'],
|
|
method: 'single-value',
|
|
numClasses: 1
|
|
};
|
|
}
|
|
|
|
try {
|
|
// Use ckmeans clustering
|
|
const clusters = ss.ckmeans(values, actualNumClasses);
|
|
|
|
// Extract breaks from cluster boundaries
|
|
const breaks = [];
|
|
for (let i = 0; i < clusters.length; i++) {
|
|
if (i === 0) {
|
|
breaks.push(Math.min(...clusters[i])); // First cluster minimum
|
|
}
|
|
breaks.push(Math.max(...clusters[i])); // Each cluster maximum
|
|
}
|
|
|
|
// Generate colors based on the number of classes
|
|
const colors = generateColors(actualNumClasses);
|
|
|
|
return {
|
|
breaks: breaks,
|
|
colors: colors,
|
|
method: 'ckmeans',
|
|
numClasses: actualNumClasses,
|
|
clusters: clusters.length
|
|
};
|
|
|
|
} catch (error) {
|
|
console.warn('CKMeans failed, falling back to quantile classification:', error);
|
|
// Fallback to quantile classification
|
|
return calculateQuantileBreaks(values, actualNumClasses);
|
|
}
|
|
}
|
|
|
|
function calculateQuantileBreaks(values, numClasses) {
|
|
const sortedValues = [...values].sort((a, b) => a - b);
|
|
const breaks = [];
|
|
const colors = generateColors(numClasses);
|
|
|
|
for (let i = 0; i <= numClasses; i++) {
|
|
const quantile = i / numClasses;
|
|
const index = Math.floor(quantile * (sortedValues.length - 1));
|
|
breaks.push(sortedValues[index]);
|
|
}
|
|
|
|
return {
|
|
breaks: breaks,
|
|
colors: colors,
|
|
method: 'quantile-fallback',
|
|
numClasses: numClasses
|
|
};
|
|
}
|
|
|
|
function generateColors(numClasses) {
|
|
// Generate a color ramp from light to dark red
|
|
const colors = [];
|
|
for (let i = 0; i < numClasses; i++) {
|
|
const intensity = (i + 1) / numClasses;
|
|
const red = Math.round(255);
|
|
const green = Math.round(255 * (1 - intensity));
|
|
const blue = Math.round(255 * (1 - intensity));
|
|
colors.push(`rgb(${red}, ${green}, ${blue})`);
|
|
}
|
|
return colors;
|
|
}
|
|
|
|
function addVisualizationLayerWithCKMeans(field) {
|
|
if (!mapLoaded) return;
|
|
|
|
if (map.getLayer('my-layer')) {
|
|
map.removeLayer('my-layer');
|
|
}
|
|
|
|
// Add temporary layer first
|
|
map.addLayer({
|
|
'id': 'my-layer',
|
|
'type': 'fill',
|
|
'source': 'my-vector-tiles',
|
|
'source-layer': 'da_2021_cop',
|
|
'paint': {
|
|
"fill-outline-color": "#000",
|
|
"fill-antialias": true,
|
|
'fill-color': '#cccccc', // Temporary color
|
|
'fill-opacity': 0.7,
|
|
},
|
|
});
|
|
|
|
// Update classification info
|
|
updateClassificationInfo('Loading CKMeans...', 'calculating optimal classes');
|
|
|
|
// Wait a bit for layer to be ready, then calculate CKMeans
|
|
setTimeout(() => {
|
|
recalculateClassesFromExtent();
|
|
}, 500);
|
|
}
|
|
|
|
function recalculateClassesFromExtent() {
|
|
if (!mapLoaded) return;
|
|
|
|
// Get current features in view to calculate breaks
|
|
const features = map.queryRenderedFeatures({ layers: ['my-layer'] });
|
|
|
|
if (features.length > 0) {
|
|
console.log(`Calculating CKMeans classification for ${features.length} features`);
|
|
|
|
const classification = calculateCKMeansBreaks(features, currentField, 5);
|
|
|
|
if (classification) {
|
|
currentClassification = classification;
|
|
|
|
// Create paint expression for MapLibre
|
|
const paintExpression = ['case'];
|
|
|
|
// Add conditions for each class
|
|
for (let i = 0; i < classification.breaks.length - 1; i++) {
|
|
const lowerBound = classification.breaks[i];
|
|
const upperBound = classification.breaks[i + 1];
|
|
|
|
if (i === 0) {
|
|
// First class: value >= min AND value <= first break
|
|
paintExpression.push(['<=', ['get', currentField], upperBound]);
|
|
} else {
|
|
// Other classes: value > previous break AND value <= current break
|
|
paintExpression.push([
|
|
'all',
|
|
['>', ['get', currentField], lowerBound],
|
|
['<=', ['get', currentField], upperBound]
|
|
]);
|
|
}
|
|
paintExpression.push(classification.colors[i]);
|
|
}
|
|
|
|
// Default color for values outside range
|
|
paintExpression.push('#cccccc');
|
|
|
|
map.setPaintProperty('my-layer', 'fill-color', paintExpression);
|
|
updateLegend(currentField, classification.breaks, classification.colors);
|
|
updateClassificationInfo(
|
|
`${classification.method} (${classification.numClasses} classes)`,
|
|
`${features.length} features analyzed`
|
|
);
|
|
|
|
console.log('Classification applied:', classification);
|
|
}
|
|
} else {
|
|
// Try to get all features from the source if none are visible
|
|
console.log('No features in current view, trying to get data for initial classification...');
|
|
updateClassificationInfo('CKMeans (5 classes)', 'Pan/zoom to data areas for classification');
|
|
}
|
|
}
|
|
|
|
function updateLegend(field, breaks, colors) {
|
|
const legendContent = document.getElementById('legendContent');
|
|
let legendHTML = '';
|
|
|
|
for (let i = 0; i < colors.length && i < breaks.length - 1; i++) {
|
|
const rangeStart = breaks[i];
|
|
const rangeEnd = breaks[i + 1];
|
|
|
|
let label;
|
|
if (i === 0) {
|
|
label = `≤ ${rangeEnd.toFixed(0)}`;
|
|
} else {
|
|
label = `${rangeStart.toFixed(0)} - ${rangeEnd.toFixed(0)}`;
|
|
}
|
|
|
|
legendHTML += `
|
|
<div class="legend-item">
|
|
<div class="legend-color" style="background-color: ${colors[i]}"></div>
|
|
<span>${label}</span>
|
|
</div>
|
|
`;
|
|
}
|
|
|
|
legendContent.innerHTML = legendHTML;
|
|
}
|
|
|
|
function updateClassificationInfo(method, details) {
|
|
classificationInfo.innerHTML = `Classification: ${method}<br><small>${details}</small>`;
|
|
}
|
|
|
|
// Handle browser back/forward buttons
|
|
window.addEventListener('popstate', (e) => {
|
|
const newField = getFieldFromURL();
|
|
if (newField !== currentField && availableFields.includes(newField)) {
|
|
currentField = newField;
|
|
document.getElementById('currentField').textContent = `Current field: ${currentField}`;
|
|
addVisualizationLayerWithCKMeans(currentField);
|
|
}
|
|
});
|
|
|
|
// Get latitude and longitude
|
|
map.on('click', (e) => {
|
|
var clickLatLong = e.lngLat.wrap();
|
|
var googleMapsURL = `https://www.google.ca/maps/@${clickLatLong.lat},${clickLatLong.lng},17z`
|
|
console.log(googleMapsURL);
|
|
});
|
|
|
|
// Click handler
|
|
map.on('click', 'my-layer', (e) => {
|
|
if (e.features.length > 0) {
|
|
const feature = e.features[0];
|
|
const properties = feature.properties;
|
|
console.log(`Field: ${currentField}, Value: ${properties[currentField]}`);
|
|
console.log('DGUID:', properties.da_dguid);
|
|
var clickLatLong = e.lngLat.wrap();
|
|
var googleMapsURL = `https://www.google.ca/maps/@${clickLatLong.lat},${clickLatLong.lng},17z`
|
|
var openstreetmapURL = `https://www.openstreetmap.org/#map=17/${clickLatLong.lat}/${clickLatLong.lng}`
|
|
var bingURL = `https://www.bing.com/maps?FORM=Z9LH2&cp=${clickLatLong.lat}%7E${clickLatLong.lng}&lvl=16.0`
|
|
|
|
|
|
// Show popup with feature info
|
|
new maplibregl.Popup()
|
|
.setLngLat(e.lngLat)
|
|
.setHTML(`
|
|
<div style="font-size: 12px;">
|
|
<strong>${currentField}:</strong> ${properties[currentField]}<br>
|
|
<strong>DGUID:</strong> ${properties.da_dguid}<br>
|
|
<strong>Google Maps:</strong> <a href="${googleMapsURL}" target="_blank">Open</a><br>
|
|
<strong>OpenStreetMap:</strong> <a href="${openstreetmapURL}" target="_blank">Open</a><br>
|
|
<strong>Bing:</strong> <a href="${bingURL}" target="_blank">Open</a>
|
|
</div>
|
|
`)
|
|
.addTo(map);
|
|
}
|
|
});
|
|
|
|
// Change cursor on hover
|
|
map.on('mouseenter', 'my-layer', () => {
|
|
map.getCanvas().style.cursor = 'pointer';
|
|
});
|
|
|
|
map.on('mouseleave', 'my-layer', () => {
|
|
map.getCanvas().style.cursor = '';
|
|
});
|
|
</script>
|
|
</body>
|
|
</html> |