ltc-code 0.2.16__tar.gz → 0.2.17__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (72) hide show
  1. {ltc_code-0.2.16 → ltc_code-0.2.17}/PKG-INFO +1 -1
  2. {ltc_code-0.2.16 → ltc_code-0.2.17}/pyproject.toml +1 -1
  3. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/nsc/build_nsc_outcomes.py +81 -52
  4. ltc_code-0.2.16/src/ltc_code/.DS_Store +0 -0
  5. ltc_code-0.2.16/src/ltc_code/nsc/.DS_Store +0 -0
  6. ltc_code-0.2.16/src/ltc_code/nsc/raw/.DS_Store +0 -0
  7. {ltc_code-0.2.16 → ltc_code-0.2.17}/README.md +0 -0
  8. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/20260614_new_build_scripts_update/aspire.py +0 -0
  9. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/20260614_new_build_scripts_update/check_cmo_apps.do +0 -0
  10. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/20260614_new_build_scripts_update/christel_house.py +0 -0
  11. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/20260614_new_build_scripts_update/democracy_prep.py +0 -0
  12. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/20260614_new_build_scripts_update/green_dot.py +0 -0
  13. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/20260614_new_build_scripts_update/helpers.py +0 -0
  14. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/20260614_new_build_scripts_update/ilt.py +0 -0
  15. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/20260614_new_build_scripts_update/kipp_nj.py +0 -0
  16. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/20260614_new_build_scripts_update/main.py +0 -0
  17. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/20260614_new_build_scripts_update/mappings.py +0 -0
  18. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/20260614_new_build_scripts_update/rocketship.py +0 -0
  19. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/20260614_new_build_scripts_update/yes_prep.py +0 -0
  20. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/20260630_census_disclosure/aspire.py +0 -0
  21. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/20260630_census_disclosure/christel_house.py +0 -0
  22. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/20260630_census_disclosure/democracy_prep.py +0 -0
  23. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/20260630_census_disclosure/green_dot.py +0 -0
  24. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/20260630_census_disclosure/ilt.py +0 -0
  25. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/20260630_census_disclosure/kipp.py +0 -0
  26. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/20260630_census_disclosure/kipp_nj.py +0 -0
  27. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/20260630_census_disclosure/rocketship.py +0 -0
  28. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/20260630_census_disclosure/yes_prep.py +0 -0
  29. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/20260706_ceprscripts/BALANCE.do +0 -0
  30. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/20260706_ceprscripts/FS.do +0 -0
  31. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/20260706_ceprscripts/ITT.do +0 -0
  32. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/20260706_ceprscripts/TOT.do +0 -0
  33. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/20260706_ceprscripts/apps_helpers.py +0 -0
  34. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/20260706_ceprscripts/harmony.py +0 -0
  35. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/20260706_ceprscripts/main.py +0 -0
  36. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/20260712_uncommon_scripts/main.py +0 -0
  37. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/20260712_uncommon_scripts/mappings.py +0 -0
  38. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/20260712_uncommon_scripts/uncommon.py +0 -0
  39. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/__init__.py +0 -0
  40. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/aspire.py +0 -0
  41. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/check_cmo_apps.do +0 -0
  42. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/christel_house.py +0 -0
  43. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/green_dot.py +0 -0
  44. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/helpers.py +0 -0
  45. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/june13.py +0 -0
  46. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/june2.py +0 -0
  47. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/june30.py +0 -0
  48. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/june5.py +0 -0
  49. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/june7.py +0 -0
  50. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/kipp_nj.py +0 -0
  51. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/kipp_tx.py +0 -0
  52. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/main.py +0 -0
  53. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/mappings.py +0 -0
  54. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/may27.py +0 -0
  55. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/nsc/__init__.py +0 -0
  56. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/nsc/input/.gitkeep +0 -0
  57. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/nsc/naics.csv +0 -0
  58. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/nsc/naics.py +0 -0
  59. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/nsc/naics_raw.xlsx +0 -0
  60. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/nsc/output/.gitkeep +0 -0
  61. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/nsc/raw/CREDENTIAL_LEVEL_LOOKUP_TABLE.xlsx +0 -0
  62. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/nsc/raw/IPEDS_IC_2013.csv +0 -0
  63. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/nsc/raw/IPEDS_IC_manual.xlsx +0 -0
  64. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/nsc/raw/chetty/mrc_table11.dta +0 -0
  65. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/nsc/raw/chetty/mrc_table2.dta +0 -0
  66. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/nsc/raw/college_crosswalk.xls +0 -0
  67. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/nsc/raw/directory.dta +0 -0
  68. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/nsc/run_nsc_outcomes.py +0 -0
  69. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/polars_dates.py +0 -0
  70. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/rocketship.py +0 -0
  71. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/schema_mapping.py +0 -0
  72. {ltc_code-0.2.16 → ltc_code-0.2.17}/src/ltc_code/yes_prep.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: ltc-code
3
- Version: 0.2.16
3
+ Version: 0.2.17
4
4
  Summary: Add your description here
5
5
  Requires-Dist: fastexcel>=0.16,<0.20
6
6
  Requires-Dist: polars>=1.36.1,<1.42
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "ltc-code"
3
- version = "0.2.16"
3
+ version = "0.2.17"
4
4
  description = "Add your description here"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.9"
@@ -54,25 +54,21 @@ CHETTY_MRC_TABLE11 = next(
54
54
  )
55
55
  # Chetty OPE-to-super-OPE crosswalk used to attach tier to NSC schools.
56
56
 
57
- INPUT_NSC = PACKAGE_NSC / "input"
58
- # Folder for secured Census inputs that are not packaged with the code.
59
57
 
60
58
  APPS = INPUT_NSC / "apps.csv"
61
59
  # Application/student records; source for unique sid_cepr/cohort_lottery.
62
60
 
63
- NSC_RECORDS = INPUT_NSC / "nsc_records.csv"
64
- # Long NSC enrollment and degree records.
61
+ INPUT_NSC = PACKAGE_NSC / "input"
62
+ # Folder for secured Census inputs that are not packaged with the code.
63
+
65
64
 
66
65
  INPUT_NSC_OLD = INPUT_NSC / "nsc_records_old.dta"
67
66
  # Older NSC pull, kept so the build can append old and new NSC versions.
68
67
 
69
- INPUT_NSC_NEW = INPUT_NSC / "nsc_records_new.dta"
68
+ INPUT_NSC_NEW = INPUT_NSC / "nsc_records_new.csv"
70
69
  # Newer NSC pull with studyid-based rows.
71
70
 
72
- OUTPUT_NSC = PACKAGE_NSC / "output"
73
- # Package-local output folder for NSC outcome files.
74
-
75
- OUTCOMES = OUTPUT_NSC / "nsc_outcomes.parquet"
71
+ OUTCOMES_OUTPUT = OUTPUT_NSC / "nsc_outcomes.parquet"
76
72
  # Final student-level NSC outcomes file.
77
73
 
78
74
 
@@ -99,17 +95,13 @@ college_crosswalk = (
99
95
  columns=["ID_IPEDS", "ID_OPE", "ID_FSC", "ID_FSC_long", "name"],
100
96
  )
101
97
  .with_columns(
102
- pl.when(
103
- pl.col("ID_FSC_long").is_not_null()
104
- & (pl.col("ID_FSC_long").cast(pl.String).str.strip_chars() != "")
105
- )
106
- .then(pl.col("ID_FSC_long").cast(pl.String).str.strip_chars())
107
- .when(pl.col("ID_FSC").is_not_null())
108
- .then(
109
- pl.col("ID_FSC").cast(pl.String).str.strip_chars().str.replace(r"\.0$", "")
110
- + pl.lit("-00")
98
+ pl.coalesce(
99
+ [
100
+ pl.col("ID_FSC_long").cast(pl.String).str.strip_chars(),
101
+ pl.col("ID_FSC").cast(pl.String).str.strip_chars() + pl.lit("-00")
102
+ ]
111
103
  )
112
- .otherwise(None)
104
+ .str.replace(r"\.0$", "")
113
105
  .alias("ID_FSC"),
114
106
  pl.col("ID_IPEDS").cast(pl.Int64, strict=False).alias("unitid"),
115
107
  pl.col("ID_OPE").cast(pl.Int64, strict=False),
@@ -318,8 +310,6 @@ college_ref = (
318
310
  "ID_FSC",
319
311
  "unitid",
320
312
  "ID_OPE",
321
- "opeid",
322
- "super_opeid",
323
313
  "college_name",
324
314
  "college_years",
325
315
  "college_ownership",
@@ -327,8 +317,6 @@ college_ref = (
327
317
  "college_4yr",
328
318
  "college_2yr",
329
319
  "tier",
330
- "tier_name",
331
- "superopeid_name",
332
320
  "college_elite",
333
321
  )
334
322
  )
@@ -340,22 +328,25 @@ college_ref = (
340
328
 
341
329
  # Start from unique students. cohort_lottery is the birth cohort; cohort_18 is
342
330
  # the year the student turns 18 and anchors Sarah's Y1/Y2/... outcome windows.
343
- if str(APPS).endswith(".dta"):
344
- apps_raw = scan_readstat(
345
- APPS, missing_string_as_null=True, value_labels_as_strings=True
346
- ).collect()
347
- else:
348
- apps_raw = pl.read_csv(APPS)
331
+
349
332
 
350
333
  apps = (
351
- apps_raw.select("sid_cepr", "cohort_lottery")
334
+ scan_readstat(
335
+ APPS, missing_string_as_null=True, value_labels_as_strings=True
336
+ )
337
+ .select("sid_cepr", "cohort_lottery")
352
338
  .drop_nulls(["sid_cepr", "cohort_lottery"])
353
339
  .with_columns(
354
340
  pl.col("sid_cepr").cast(pl.Int64),
355
341
  pl.col("cohort_lottery").cast(pl.Int64),
356
342
  )
357
- .unique(["sid_cepr", "cohort_lottery"])
343
+ .filter(
344
+ pl.col("cohort_lottery").is_between(1990, 2005)
345
+ )
346
+ .sort("cohort_lottery")
347
+ .unique(["sid_cepr"])
358
348
  .with_columns((pl.col("cohort_lottery") + 18).alias("cohort_18"))
349
+ .collect()
359
350
  )
360
351
 
361
352
  # These branch-code fixes mirror the Sarah code path that maps known bad FSC
@@ -441,7 +432,11 @@ fsc_branch_fixes = [
441
432
  # The real NSC file uses raw NSC names; Sarah renames these before building
442
433
  # outcomes. This block makes those same names explicit in Polars.
443
434
  nsc_old = (
444
- scan_readstat(INPUT_NSC_OLD, missing_string_as_null=True, value_labels_as_strings=True)
435
+ scan_readstat(INPUT_NSC_OLD, missing_string_as_null=True, value_labels_as_strings=True, schema_overrides={
436
+ "searchdate": pl.String
437
+ }
438
+ )
439
+ .collect()
445
440
  .with_columns(
446
441
  pl.lit(2023).alias("NSCdatayear"),
447
442
 
@@ -450,11 +445,41 @@ nsc_old = (
450
445
  .cast(pl.Int32)
451
446
  .alias("searchbeginyear")
452
447
  )
453
- .collect()
454
448
  )
455
449
 
456
450
  nsc_new = (
457
- scan_readstat(INPUT_NSC_NEW, missing_string_as_null=True, value_labels_as_strings=True)
451
+ pl.scan_csv(INPUT_NSC_NEW, infer_schema=False, null_values=[""], try_parse_dates=False, ignore_errors=False,)
452
+ .rename({
453
+ "Study ID": "studyid",
454
+ "Record Found Y/N": "recordfoundyn",
455
+ "College Code/Branch": "collegecodebranch",
456
+ "College Name": "collegename",
457
+ "College State": "collegestate",
458
+ "2-year / 4-year": "2year4year",
459
+ "Public / Private": "publicprivate",
460
+ "Enrollment Begin": "enrollmentbegin",
461
+ "Enrollment End": "enrollmentend",
462
+ "Enrollment Status": "enrollmentstatus",
463
+ "Class Level": "classlevel",
464
+ "Enrollment Major 1": "enrollmentmajor1",
465
+ "Enrollment CIP 1": "enrollmentcip1",
466
+ "Enrollment Major 2": "enrollmentmajor2",
467
+ "Enrollment CIP 2": "enrollmentcip2",
468
+ "Graduated?": "graduated",
469
+ "Graduation Date": "graduationdate",
470
+ "Degree Title": "degreetitle",
471
+ "Degree Major 1": "degreemajor1",
472
+ "Degree CIP 1": "degreecip1",
473
+ "Degree Major 2": "degreemajor2",
474
+ "Degree CIP 2": "degreecip2",
475
+ "Degree Major 3": "degreemajor3",
476
+ "Degree CIP 3": "degreecip3",
477
+ "Degree Major 4": "degreemajor4",
478
+ "Degree CIP 4": "degreecip4",
479
+ "College Sequence": "collegesequence",
480
+ "Student Age at start of term": "studentageatstartofterm",
481
+
482
+ })
458
483
  .with_row_index("origsrt", offset=1)
459
484
  .filter(pl.col("studyid").is_not_null())
460
485
  .with_columns(
@@ -463,7 +488,7 @@ nsc_new = (
463
488
  .explode("sid_cepr")
464
489
  .filter(pl.col("sid_cepr") != "")
465
490
  .with_columns(
466
- pl.col("sid_cepr").cast(pl.Int64, strict=False)
491
+ pl.col("sid_cepr").cast(pl.String).str.replace_all("_", "").cast(pl.Int64, strict=False)
467
492
  )
468
493
  .filter(
469
494
  pl.col("sid_cepr").is_not_null()
@@ -920,6 +945,7 @@ degree_title = pl.col("_degree_title_clean").fill_null("")
920
945
  degrees = (
921
946
  nsc.filter(pl.col("graduated") == "Y")
922
947
  .filter(pl.col("graduated_date").is_not_null())
948
+ .filter(pl.col("graduated_date") <= NSC_CUTOFF_DATE)
923
949
  .with_columns(
924
950
  pl.col("degree_title")
925
951
  .cast(pl.String)
@@ -1198,6 +1224,13 @@ for year in range(1, N_YEARS_OUT + 1):
1198
1224
  (pl.col("_by_end") * pl.col("_degree").is_in(["AA", "BA"]).cast(pl.Int8))
1199
1225
  .max()
1200
1226
  .alias(f"cmp_any_byY{year}"),
1227
+ (
1228
+ pl.col("_by_end")
1229
+ * pl.col("_degree").is_in(["AA", "BA"]).cast(pl.Int8)
1230
+ * pl.col("college_elite").fill_null(0).cast(pl.Int8)
1231
+ )
1232
+ .max()
1233
+ .alias(f"cmp_elite_byY{year}"),
1201
1234
  )
1202
1235
  )
1203
1236
 
@@ -1256,20 +1289,14 @@ degree_outcomes = degree_outcomes.join(degree_details, on="sid_cepr", how="left"
1256
1289
 
1257
1290
  # Merge enrollment and degree outcomes back to the unique application universe.
1258
1291
  nsc_outcomes = (
1259
- apps.join(enrollment_outcomes, on="sid_cepr", how="left")
1260
- .join(degree_outcomes, on="sid_cepr", how="left")
1292
+ apps.join(enrollment_outcomes, on="sid_cepr", how="left", validate="m:1")
1293
+ .join(degree_outcomes, on="sid_cepr", how="left", validate="m:1")
1261
1294
  )
1262
1295
 
1263
1296
  for year in range(1, N_YEARS_OUT + 1):
1264
- nsc_outcomes = nsc_outcomes.with_columns(
1265
- (pl.col("cohort_18") + year - 1).alias("_in_start_year"),
1266
- pl.col("cohort_18").alias("_by_start_year"),
1267
- (pl.col("cohort_18") + year).alias("_by_end_year"),
1268
- ).with_columns(
1269
- pl.date(pl.col("_in_start_year"), 7, 1).alias("_in_start"),
1270
- pl.date(pl.col("_by_start_year"), 7, 1).alias("_by_start"),
1271
- pl.date(pl.col("_by_end_year"), 6, 30).alias("_by_end"),
1272
- )
1297
+ in_start = pl.date(pl.col("cohort_18") + year - 1, 7, 1)
1298
+ by_start = pl.date(pl.col("cohort_18"), 7, 1)
1299
+ by_end = pl.date(pl.col("cohort_18") + year, 6, 30)
1273
1300
 
1274
1301
  att_in_columns = [
1275
1302
  column
@@ -1291,7 +1318,7 @@ for year in range(1, N_YEARS_OUT + 1):
1291
1318
 
1292
1319
  nsc_outcomes = nsc_outcomes.with_columns(
1293
1320
  [
1294
- pl.when(pl.col("_in_start") > NSC_CUTOFF_DATE)
1321
+ pl.when(in_start > NSC_CUTOFF_DATE)
1295
1322
  .then(None)
1296
1323
  .when(pl.col(column).is_null())
1297
1324
  .then(0)
@@ -1302,7 +1329,7 @@ for year in range(1, N_YEARS_OUT + 1):
1302
1329
  ]
1303
1330
  +
1304
1331
  [
1305
- pl.when(pl.col("_by_start") > NSC_CUTOFF_DATE)
1332
+ pl.when(by_start > NSC_CUTOFF_DATE)
1306
1333
  .then(None)
1307
1334
  .when(pl.col(column).is_null())
1308
1335
  .then(0)
@@ -1313,7 +1340,7 @@ for year in range(1, N_YEARS_OUT + 1):
1313
1340
  ]
1314
1341
  +
1315
1342
  [
1316
- pl.when(pl.col("_by_end") > NSC_CUTOFF_DATE)
1343
+ pl.when(by_end > NSC_CUTOFF_DATE)
1317
1344
  .then(None)
1318
1345
  .when(pl.col(column).is_null())
1319
1346
  .then(0)
@@ -1330,20 +1357,22 @@ for year in range(1, N_YEARS_OUT + 1):
1330
1357
  ###########################################################
1331
1358
 
1332
1359
  outcome_columns = [
1333
- "att_any_inY1", "att_any_inY2", "att_any_inY3", "att_any_inY4",
1334
- "att_4yr_inY1", "att_4yr_inY2", "att_4yr_inY3", "att_4yr_inY4",
1360
+ "att_any_inY1", "att_any_inY2", "att_any_inY3", "att_any_inY4", "att_any_inY5", "att_any_inY6", "att_any_inY7", "att_any_inY8",
1361
+ "att_4yr_inY1", "att_4yr_inY2", "att_4yr_inY3", "att_4yr_inY4", "att_4yr_inY5", "att_4yr_inY6", "att_4yr_inY7", "att_4yr_inY8",
1335
1362
  "att_2yr_inY1", "att_2yr_inY2", "att_2yr_inY3", "att_2yr_inY4",
1336
1363
  "att_elite_inY1", "att_elite_inY2", "att_elite_inY3", "att_elite_inY4",
1337
1364
 
1338
1365
  "att_any_byY2", "att_any_byY3", "att_any_byY4",
1339
1366
  "att_4yr_byY2", "att_4yr_byY3", "att_4yr_byY4",
1340
1367
  "att_2yr_byY2", "att_2yr_byY3", "att_2yr_byY4",
1341
- "att_elite_byY2", "att_elite_byY3", "att_elite_byY4",
1368
+ "att_elite_byY2", "att_elite_byY3", "att_elite_byY4", "att_elite_byY5", "att_elite_byY6"
1342
1369
 
1343
1370
  "cmp_any_byY4", "cmp_any_byY5", "cmp_any_byY6", "cmp_any_byY7", "cmp_any_byY8",
1344
1371
  "cmp_AA_byY4", "cmp_AA_byY5", "cmp_AA_byY6", "cmp_AA_byY7", "cmp_AA_byY8",
1345
1372
  "cmp_BA_byY4", "cmp_BA_byY5", "cmp_BA_byY6", "cmp_BA_byY7", "cmp_BA_byY8",
1346
1373
 
1374
+ "cmp_elite_byY4", "cmp_elite_byY5", "cmp_elite_byY6", "cmp_elite_byY7", "cmp_elite_byY8"
1375
+
1347
1376
 
1348
1377
  ]
1349
1378
 
Binary file
Binary file
File without changes