Repository: FHIR/sushi
Pull request #94 (2020-01-15 17:19:34)

Add * before CodeSystem Rules
This PR makes it so that `*` is required before each concept that is being added to a CodeSystem. Where before a CodeSystem would look like this:
```
CodeSystem:  YogaCodeSystem
Title: "Yoga Code System."
Description:  "A vocabulary of yoga-related terms."
#Sirsasana "Headstand"
#Sarvangasana "Shoulder stand"
```
it should now look like this:
```
CodeSystem:  YogaCodeSystem
Title: "Yoga Code System."
Description:  "A vocabulary of yoga-related terms."
* #Sirsasana "Headstand"
* #Sarvangasana "Shoulder stand"
```


Patch:
diff --git a/antlr/src/main/antlr/FSH.g4 b/antlr/src/main/antlr/FSH.g4
index fa1ba2a..2d52796 100644
--- a/antlr/src/main/antlr/FSH.g4
+++ b/antlr/src/main/antlr/FSH.g4
@@ -64,7 +64,7 @@ strength:           KW_EXAMPLE | KW_PREFERRED | KW_EXTENSIBLE | KW_REQUIRED;
 value:              STRING | MULTILINE_STRING | NUMBER | DATETIME | TIME | reference | code | quantity | ratio | bool ;
 item:               SEQUENCE CARD flag*;
 code:               CODE STRING?;
-concept:            code STRING?;
+concept:            STAR code STRING?;
 quantity:           NUMBER UNIT;
 ratio:              ratioPart COLON ratioPart;
 reference:          REFERENCE STRING?;
diff --git a/src/import/generated/FSH.interp b/src/import/generated/FSH.interp
index 5cc8638..5dcfe1a 100644
--- a/src/import/generated/FSH.interp
+++ b/src/import/generated/FSH.interp
@@ -178,4 +178,4 @@ targetType
 
 
 atn:
-[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 59, 469, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 4, 39, 9, 39, 4, 40, 9, 40, 4, 41, 9, 41, 4, 42, 9, 42, 4, 43, 9, 43, 4, 44, 9, 44, 4, 45, 9, 45, 4, 46, 9, 46, 4, 47, 9, 47, 4, 48, 9, 48, 4, 49, 9, 49, 4, 50, 9, 50, 4, 51, 9, 51, 4, 52, 9, 52, 4, 53, 9, 53, 4, 54, 9, 54, 4, 55, 9, 55, 4, 56, 9, 56, 4, 57, 9, 57, 3, 2, 7, 2, 116, 10, 2, 12, 2, 14, 2, 119, 11, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 128, 10, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 6, 5, 138, 10, 5, 13, 5, 14, 5, 139, 3, 5, 7, 5, 143, 10, 5, 12, 5, 14, 5, 146, 11, 5, 3, 6, 3, 6, 3, 6, 7, 6, 151, 10, 6, 12, 6, 14, 6, 154, 11, 6, 3, 6, 7, 6, 157, 10, 6, 12, 6, 14, 6, 160, 11, 6, 3, 7, 3, 7, 3, 7, 3, 7, 5, 7, 166, 10, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 5, 8, 176, 10, 8, 3, 9, 3, 9, 3, 9, 7, 9, 181, 10, 9, 12, 9, 14, 9, 184, 11, 9, 3, 9, 7, 9, 187, 10, 9, 12, 9, 14, 9, 190, 11, 9, 3, 10, 3, 10, 5, 10, 194, 10, 10, 3, 11, 3, 11, 3, 11, 6, 11, 199, 10, 11, 13, 11, 14, 11, 200, 3, 12, 3, 12, 3, 12, 3, 12, 5, 12, 207, 10, 12, 3, 13, 3, 13, 3, 13, 7, 13, 212, 10, 13, 12, 13, 14, 13, 215, 11, 13, 3, 13, 7, 13, 218, 10, 13, 12, 13, 14, 13, 221, 11, 13, 3, 14, 3, 14, 3, 14, 5, 14, 226, 10, 14, 3, 15, 3, 15, 3, 15, 7, 15, 231, 10, 15, 12, 15, 14, 15, 234, 11, 15, 3, 15, 7, 15, 237, 10, 15, 12, 15, 14, 15, 240, 11, 15, 3, 16, 3, 16, 3, 16, 5, 16, 245, 10, 16, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 3, 21, 3, 21, 3, 21, 3, 22, 3, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 24, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 25, 7, 25, 275, 10, 25, 12, 25, 14, 25, 278, 11, 25, 3, 26, 3, 26, 3, 26, 5, 26, 283, 10, 26, 3, 26, 6, 26, 286, 10, 26, 13, 26, 14, 26, 287, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 5, 27, 295, 10, 27, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 7, 29, 308, 10, 29, 12, 29, 14, 29, 311, 11, 29, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 7, 30, 319, 10, 30, 12, 30, 14, 30, 322, 11, 30, 3, 31, 3, 31, 5, 31, 326, 10, 31, 3, 31, 3, 31, 3, 31, 3, 31, 7, 31, 332, 10, 31, 12, 31, 14, 31, 335, 11, 31, 3, 32, 3, 32, 5, 32, 339, 10, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 33, 3, 33, 5, 33, 347, 10, 33, 3, 33, 3, 33, 5, 33, 351, 10, 33, 3, 34, 3, 34, 5, 34, 355, 10, 34, 3, 34, 3, 34, 5, 34, 359, 10, 34, 3, 35, 3, 35, 3, 35, 3, 35, 5, 35, 365, 10, 35, 3, 36, 3, 36, 3, 36, 3, 36, 5, 36, 371, 10, 36, 3, 36, 3, 36, 3, 36, 5, 36, 376, 10, 36, 5, 36, 378, 10, 36, 3, 37, 3, 37, 3, 37, 3, 38, 3, 38, 3, 38, 3, 39, 3, 39, 3, 39, 7, 39, 389, 10, 39, 12, 39, 14, 39, 392, 11, 39, 3, 39, 3, 39, 3, 40, 3, 40, 3, 40, 5, 40, 399, 10, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 5, 42, 408, 10, 42, 3, 43, 3, 43, 3, 44, 3, 44, 3, 45, 3, 45, 3, 46, 3, 46, 3, 47, 3, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 5, 48, 430, 10, 48, 3, 49, 3, 49, 3, 49, 7, 49, 435, 10, 49, 12, 49, 14, 49, 438, 11, 49, 3, 50, 3, 50, 5, 50, 442, 10, 50, 3, 51, 3, 51, 5, 51, 446, 10, 51, 3, 52, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 53, 3, 54, 3, 54, 5, 54, 457, 10, 54, 3, 55, 3, 55, 5, 55, 461, 10, 55, 3, 56, 3, 56, 3, 57, 3, 57, 5, 57, 467, 10, 57, 3, 57, 2, 2, 58, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 2, 8, 3, 2, 42, 43, 3, 2, 55, 56, 4, 2, 38, 38, 56, 56, 3, 2, 18, 20, 3, 2, 22, 25, 3, 2, 31, 32, 2, 486, 2, 117, 3, 2, 2, 2, 4, 127, 3, 2, 2, 2, 6, 129, 3, 2, 2, 2, 8, 134, 3, 2, 2, 2, 10, 147, 3, 2, 2, 2, 12, 165, 3, 2, 2, 2, 14, 175, 3, 2, 2, 2, 16, 177, 3, 2, 2, 2, 18, 193, 3, 2, 2, 2, 20, 195, 3, 2, 2, 2, 22, 206, 3, 2, 2, 2, 24, 208, 3, 2, 2, 2, 26, 225, 3, 2, 2, 2, 28, 227, 3, 2, 2, 2, 30, 244, 3, 2, 2, 2, 32, 246, 3, 2, 2, 2, 34, 249, 3, 2, 2, 2, 36, 252, 3, 2, 2, 2, 38, 255, 3, 2, 2, 2, 40, 258, 3, 2, 2, 2, 42, 261, 3, 2, 2, 2, 44, 264, 3, 2, 2, 2, 46, 267, 3, 2, 2, 2, 48, 270, 3, 2, 2, 2, 50, 279, 3, 2, 2, 2, 52, 289, 3, 2, 2, 2, 54, 296, 3, 2, 2, 2, 56, 301, 3, 2, 2, 2, 58, 312, 3, 2, 2, 2, 60, 323, 3, 2, 2, 2, 62, 336, 3, 2, 2, 2, 64, 344, 3, 2, 2, 2, 66, 358, 3, 2, 2, 2, 68, 360, 3, 2, 2, 2, 70, 366, 3, 2, 2, 2, 72, 379, 3, 2, 2, 2, 74, 382, 3, 2, 2, 2, 76, 390, 3, 2, 2, 2, 78, 395, 3, 2, 2, 2, 80, 400, 3, 2, 2, 2, 82, 407, 3, 2, 2, 2, 84, 409, 3, 2, 2, 2, 86, 411, 3, 2, 2, 2, 88, 413, 3, 2, 2, 2, 90, 415, 3, 2, 2, 2, 92, 417, 3, 2, 2, 2, 94, 429, 3, 2, 2, 2, 96, 431, 3, 2, 2, 2, 98, 439, 3, 2, 2, 2, 100, 443, 3, 2, 2, 2, 102, 447, 3, 2, 2, 2, 104, 450, 3, 2, 2, 2, 106, 454, 3, 2, 2, 2, 108, 460, 3, 2, 2, 2, 110, 462, 3, 2, 2, 2, 112, 466, 3, 2, 2, 2, 114, 116, 5, 4, 3, 2, 115, 114, 3, 2, 2, 2, 116, 119, 3, 2, 2, 2, 117, 115, 3, 2, 2, 2, 117, 118, 3, 2, 2, 2, 118, 3, 3, 2, 2, 2, 119, 117, 3, 2, 2, 2, 120, 128, 5, 6, 4, 2, 121, 128, 5, 8, 5, 2, 122, 128, 5, 10, 6, 2, 123, 128, 5, 20, 11, 2, 124, 128, 5, 16, 9, 2, 125, 128, 5, 24, 13, 2, 126, 128, 5, 28, 15, 2, 127, 120, 3, 2, 2, 2, 127, 121, 3, 2, 2, 2, 127, 122, 3, 2, 2, 2, 127, 123, 3, 2, 2, 2, 127, 124, 3, 2, 2, 2, 127, 125, 3, 2, 2, 2, 127, 126, 3, 2, 2, 2, 128, 5, 3, 2, 2, 2, 129, 130, 7, 3, 2, 2, 130, 131, 7, 56, 2, 2, 131, 132, 7, 38, 2, 2, 132, 133, 7, 56, 2, 2, 133, 7, 3, 2, 2, 2, 134, 135, 7, 4, 2, 2, 135, 137, 7, 56, 2, 2, 136, 138, 5, 12, 7, 2, 137, 136, 3, 2, 2, 2, 138, 139, 3, 2, 2, 2, 139, 137, 3, 2, 2, 2, 139, 140, 3, 2, 2, 2, 140, 144, 3, 2, 2, 2, 141, 143, 5, 14, 8, 2, 142, 141, 3, 2, 2, 2, 143, 146, 3, 2, 2, 2, 144, 142, 3, 2, 2, 2, 144, 145, 3, 2, 2, 2, 145, 9, 3, 2, 2, 2, 146, 144, 3, 2, 2, 2, 147, 148, 7, 5, 2, 2, 148, 152, 7, 56, 2, 2, 149, 151, 5, 12, 7, 2, 150, 149, 3, 2, 2, 2, 151, 154, 3, 2, 2, 2, 152, 150, 3, 2, 2, 2, 152, 153, 3, 2, 2, 2, 153, 158, 3, 2, 2, 2, 154, 152, 3, 2, 2, 2, 155, 157, 5, 14, 8, 2, 156, 155, 3, 2, 2, 2, 157, 160, 3, 2, 2, 2, 158, 156, 3, 2, 2, 2, 158, 159, 3, 2, 2, 2, 159, 11, 3, 2, 2, 2, 160, 158, 3, 2, 2, 2, 161, 166, 5, 32, 17, 2, 162, 166, 5, 34, 18, 2, 163, 166, 5, 36, 19, 2, 164, 166, 5, 38, 20, 2, 165, 161, 3, 2, 2, 2, 165, 162, 3, 2, 2, 2, 165, 163, 3, 2, 2, 2, 165, 164, 3, 2, 2, 2, 166, 13, 3, 2, 2, 2, 167, 176, 5, 48, 25, 2, 168, 176, 5, 50, 26, 2, 169, 176, 5, 52, 27, 2, 170, 176, 5, 54, 28, 2, 171, 176, 5, 56, 29, 2, 172, 176, 5, 58, 30, 2, 173, 176, 5, 60, 31, 2, 174, 176, 5, 62, 32, 2, 175, 167, 3, 2, 2, 2, 175, 168, 3, 2, 2, 2, 175, 169, 3, 2, 2, 2, 175, 170, 3, 2, 2, 2, 175, 171, 3, 2, 2, 2, 175, 172, 3, 2, 2, 2, 175, 173, 3, 2, 2, 2, 175, 174, 3, 2, 2, 2, 176, 15, 3, 2, 2, 2, 177, 178, 7, 6, 2, 2, 178, 182, 7, 56, 2, 2, 179, 181, 5, 18, 10, 2, 180, 179, 3, 2, 2, 2, 181, 184, 3, 2, 2, 2, 182, 180, 3, 2, 2, 2, 182, 183, 3, 2, 2, 2, 183, 188, 3, 2, 2, 2, 184, 182, 3, 2, 2, 2, 185, 187, 5, 54, 28, 2, 186, 185, 3, 2, 2, 2, 187, 190, 3, 2, 2, 2, 188, 186, 3, 2, 2, 2, 188, 189, 3, 2, 2, 2, 189, 17, 3, 2, 2, 2, 190, 188, 3, 2, 2, 2, 191, 194, 5, 46, 24, 2, 192, 194, 5, 36, 19, 2, 193, 191, 3, 2, 2, 2, 193, 192, 3, 2, 2, 2, 194, 19, 3, 2, 2, 2, 195, 196, 7, 8, 2, 2, 196, 198, 7, 56, 2, 2, 197, 199, 5, 22, 12, 2, 198, 197, 3, 2, 2, 2, 199, 200, 3, 2, 2, 2, 200, 198, 3, 2, 2, 2, 200, 201, 3, 2, 2, 2, 201, 21, 3, 2, 2, 2, 202, 207, 5, 38, 20, 2, 203, 207, 5, 40, 21, 2, 204, 207, 5, 42, 22, 2, 205, 207, 5, 44, 23, 2, 206, 202, 3, 2, 2, 2, 206, 203, 3, 2, 2, 2, 206, 204, 3, 2, 2, 2, 206, 205, 3, 2, 2, 2, 207, 23, 3, 2, 2, 2, 208, 209, 7, 9, 2, 2, 209, 213, 7, 56, 2, 2, 210, 212, 5, 26, 14, 2, 211, 210, 3, 2, 2, 2, 212, 215, 3, 2, 2, 2, 213, 211, 3, 2, 2, 2, 213, 214, 3, 2, 2, 2, 214, 219, 3, 2, 2, 2, 215, 213, 3, 2, 2, 2, 216, 218, 5, 64, 33, 2, 217, 216, 3, 2, 2, 2, 218, 221, 3, 2, 2, 2, 219, 217, 3, 2, 2, 2, 219, 220, 3, 2, 2, 2, 220, 25, 3, 2, 2, 2, 221, 219, 3, 2, 2, 2, 222, 226, 5, 34, 18, 2, 223, 226, 5, 36, 19, 2, 224, 226, 5, 38, 20, 2, 225, 222, 3, 2, 2, 2, 225, 223, 3, 2, 2, 2, 225, 224, 3, 2, 2, 2, 226, 27, 3, 2, 2, 2, 227, 228, 7, 10, 2, 2, 228, 232, 7, 56, 2, 2, 229, 231, 5, 30, 16, 2, 230, 229, 3, 2, 2, 2, 231, 234, 3, 2, 2, 2, 232, 230, 3, 2, 2, 2, 232, 233, 3, 2, 2, 2, 233, 238, 3, 2, 2, 2, 234, 232, 3, 2, 2, 2, 235, 237, 5, 100, 51, 2, 236, 235, 3, 2, 2, 2, 237, 240, 3, 2, 2, 2, 238, 236, 3, 2, 2, 2, 238, 239, 3, 2, 2, 2, 239, 29, 3, 2, 2, 2, 240, 238, 3, 2, 2, 2, 241, 245, 5, 34, 18, 2, 242, 245, 5, 36, 19, 2, 243, 245, 5, 38, 20, 2, 244, 241, 3, 2, 2, 2, 244, 242, 3, 2, 2, 2, 244, 243, 3, 2, 2, 2, 245, 31, 3, 2, 2, 2, 246, 247, 7, 11, 2, 2, 247, 248, 7, 56, 2, 2, 248, 33, 3, 2, 2, 2, 249, 250, 7, 12, 2, 2, 250, 251, 7, 56, 2, 2, 251, 35, 3, 2, 2, 2, 252, 253, 7, 13, 2, 2, 253, 254, 7, 42, 2, 2, 254, 37, 3, 2, 2, 2, 255, 256, 7, 14, 2, 2, 256, 257, 9, 2, 2, 2, 257, 39, 3, 2, 2, 2, 258, 259, 7, 15, 2, 2, 259, 260, 7, 42, 2, 2, 260, 41, 3, 2, 2, 2, 261, 262, 7, 16, 2, 2, 262, 263, 7, 42, 2, 2, 263, 43, 3, 2, 2, 2, 264, 265, 7, 17, 2, 2, 265, 266, 7, 46, 2, 2, 266, 45, 3, 2, 2, 2, 267, 268, 7, 7, 2, 2, 268, 269, 7, 56, 2, 2, 269, 47, 3, 2, 2, 2, 270, 271, 7, 39, 2, 2, 271, 272, 5, 84, 43, 2, 272, 276, 7, 50, 2, 2, 273, 275, 5, 90, 46, 2, 274, 273, 3, 2, 2, 2, 275, 278, 3, 2, 2, 2, 276, 274, 3, 2, 2, 2, 276, 277, 3, 2, 2, 2, 277, 49, 3, 2, 2, 2, 278, 276, 3, 2, 2, 2, 279, 282, 7, 39, 2, 2, 280, 283, 5, 84, 43, 2, 281, 283, 5, 86, 44, 2, 282, 280, 3, 2, 2, 2, 282, 281, 3, 2, 2, 2, 283, 285, 3, 2, 2, 2, 284, 286, 5, 90, 46, 2, 285, 284, 3, 2, 2, 2, 286, 287, 3, 2, 2, 2, 287, 285, 3, 2, 2, 2, 287, 288, 3, 2, 2, 2, 288, 51, 3, 2, 2, 2, 289, 290, 7, 39, 2, 2, 290, 291, 5, 84, 43, 2, 291, 292, 7, 21, 2, 2, 292, 294, 7, 56, 2, 2, 293, 295, 5, 92, 47, 2, 294, 293, 3, 2, 2, 2, 294, 295, 3, 2, 2, 2, 295, 53, 3, 2, 2, 2, 296, 297, 7, 39, 2, 2, 297, 298, 5, 84, 43, 2, 298, 299, 7, 38, 2, 2, 299, 300, 5, 94, 48, 2, 300, 55, 3, 2, 2, 2, 301, 302, 7, 39, 2, 2, 302, 303, 5, 84, 43, 2, 303, 304, 7, 26, 2, 2, 304, 309, 5, 96, 49, 2, 305, 306, 7, 27, 2, 2, 306, 308, 5, 96, 49, 2, 307, 305, 3, 2, 2, 2, 308, 311, 3, 2, 2, 2, 309, 307, 3, 2, 2, 2, 309, 310, 3, 2, 2, 2, 310, 57, 3, 2, 2, 2, 311, 309, 3, 2, 2, 2, 312, 313, 7, 39, 2, 2, 313, 314, 5, 84, 43, 2, 314, 315, 7, 28, 2, 2, 315, 320, 5, 112, 57, 2, 316, 317, 7, 29, 2, 2, 317, 319, 5, 112, 57, 2, 318, 316, 3, 2, 2, 2, 319, 322, 3, 2, 2, 2, 320, 318, 3, 2, 2, 2, 320, 321, 3, 2, 2, 2, 321, 59, 3, 2, 2, 2, 322, 320, 3, 2, 2, 2, 323, 325, 7, 39, 2, 2, 324, 326, 5, 84, 43, 2, 325, 324, 3, 2, 2, 2, 325, 326, 3, 2, 2, 2, 326, 327, 3, 2, 2, 2, 327, 328, 7, 30, 2, 2, 328, 333, 7, 56, 2, 2, 329, 330, 7, 27, 2, 2, 330, 332, 7, 56, 2, 2, 331, 329, 3, 2, 2, 2, 332, 335, 3, 2, 2, 2, 333, 331, 3, 2, 2, 2, 333, 334, 3, 2, 2, 2, 334, 61, 3, 2, 2, 2, 335, 333, 3, 2, 2, 2, 336, 338, 7, 39, 2, 2, 337, 339, 5, 84, 43, 2, 338, 337, 3, 2, 2, 2, 338, 339, 3, 2, 2, 2, 339, 340, 3, 2, 2, 2, 340, 341, 5, 88, 45, 2, 341, 342, 7, 38, 2, 2, 342, 343, 5, 94, 48, 2, 343, 63, 3, 2, 2, 2, 344, 346, 7, 39, 2, 2, 345, 347, 7, 33, 2, 2, 346, 345, 3, 2, 2, 2, 346, 347, 3, 2, 2, 2, 347, 350, 3, 2, 2, 2, 348, 351, 5, 66, 34, 2, 349, 351, 5, 68, 35, 2, 350, 348, 3, 2, 2, 2, 350, 349, 3, 2, 2, 2, 351, 65, 3, 2, 2, 2, 352, 354, 5, 98, 50, 2, 353, 355, 5, 70, 36, 2, 354, 353, 3, 2, 2, 2, 354, 355, 3, 2, 2, 2, 355, 359, 3, 2, 2, 2, 356, 357, 7, 54, 2, 2, 357, 359, 5, 70, 36, 2, 358, 352, 3, 2, 2, 2, 358, 356, 3, 2, 2, 2, 359, 67, 3, 2, 2, 2, 360, 361, 7, 34, 2, 2, 361, 364, 5, 70, 36, 2, 362, 363, 7, 35, 2, 2, 363, 365, 5, 76, 39, 2, 364, 362, 3, 2, 2, 2, 364, 365, 3, 2, 2, 2, 365, 69, 3, 2, 2, 2, 366, 377, 7, 21, 2, 2, 367, 370, 5, 72, 37, 2, 368, 369, 7, 27, 2, 2, 369, 371, 5, 74, 38, 2, 370, 368, 3, 2, 2, 2, 370, 371, 3, 2, 2, 2, 371, 378, 3, 2, 2, 2, 372, 375, 5, 74, 38, 2, 373, 374, 7, 27, 2, 2, 374, 376, 5, 72, 37, 2, 375, 373, 3, 2, 2, 2, 375, 376, 3, 2, 2, 2, 376, 378, 3, 2, 2, 2, 377, 367, 3, 2, 2, 2, 377, 372, 3, 2, 2, 2, 378, 71, 3, 2, 2, 2, 379, 380, 7, 37, 2, 2, 380, 381, 7, 56, 2, 2, 381, 73, 3, 2, 2, 2, 382, 383, 7, 36, 2, 2, 383, 384, 9, 3, 2, 2, 384, 75, 3, 2, 2, 2, 385, 386, 5, 78, 40, 2, 386, 387, 7, 27, 2, 2, 387, 389, 3, 2, 2, 2, 388, 385, 3, 2, 2, 2, 389, 392, 3, 2, 2, 2, 390, 388, 3, 2, 2, 2, 390, 391, 3, 2, 2, 2, 391, 393, 3, 2, 2, 2, 392, 390, 3, 2, 2, 2, 393, 394, 5, 78, 40, 2, 394, 77, 3, 2, 2, 2, 395, 396, 7, 56, 2, 2, 396, 398, 5, 80, 41, 2, 397, 399, 5, 82, 42, 2, 398, 397, 3, 2, 2, 2, 398, 399, 3, 2, 2, 2, 399, 79, 3, 2, 2, 2, 400, 401, 9, 4, 2, 2, 401, 81, 3, 2, 2, 2, 402, 408, 5, 98, 50, 2, 403, 408, 7, 31, 2, 2, 404, 408, 7, 32, 2, 2, 405, 408, 7, 53, 2, 2, 406, 408, 7, 42, 2, 2, 407, 402, 3, 2, 2, 2, 407, 403, 3, 2, 2, 2, 407, 404, 3, 2, 2, 2, 407, 405, 3, 2, 2, 2, 407, 406, 3, 2, 2, 2, 408, 83, 3, 2, 2, 2, 409, 410, 7, 56, 2, 2, 410, 85, 3, 2, 2, 2, 411, 412, 7, 55, 2, 2, 412, 87, 3, 2, 2, 2, 413, 414, 7, 52, 2, 2, 414, 89, 3, 2, 2, 2, 415, 416, 9, 5, 2, 2, 416, 91, 3, 2, 2, 2, 417, 418, 9, 6, 2, 2, 418, 93, 3, 2, 2, 2, 419, 430, 7, 42, 2, 2, 420, 430, 7, 43, 2, 2, 421, 430, 7, 44, 2, 2, 422, 430, 7, 48, 2, 2, 423, 430, 7, 49, 2, 2, 424, 430, 5, 106, 54, 2, 425, 430, 5, 98, 50, 2, 426, 430, 5, 102, 52, 2, 427, 430, 5, 104, 53, 2, 428, 430, 5, 110, 56, 2, 429, 419, 3, 2, 2, 2, 429, 420, 3, 2, 2, 2, 429, 421, 3, 2, 2, 2, 429, 422, 3, 2, 2, 2, 429, 423, 3, 2, 2, 2, 429, 424, 3, 2, 2, 2, 429, 425, 3, 2, 2, 2, 429, 426, 3, 2, 2, 2, 429, 427, 3, 2, 2, 2, 429, 428, 3, 2, 2, 2, 430, 95, 3, 2, 2, 2, 431, 432, 7, 56, 2, 2, 432, 436, 7, 50, 2, 2, 433, 435, 5, 90, 46, 2, 434, 433, 3, 2, 2, 2, 435, 438, 3, 2, 2, 2, 436, 434, 3, 2, 2, 2, 436, 437, 3, 2, 2, 2, 437, 97, 3, 2, 2, 2, 438, 436, 3, 2, 2, 2, 439, 441, 7, 46, 2, 2, 440, 442, 7, 42, 2, 2, 441, 440, 3, 2, 2, 2, 441, 442, 3, 2, 2, 2, 442, 99, 3, 2, 2, 2, 443, 445, 5, 98, 50, 2, 444, 446, 7, 42, 2, 2, 445, 444, 3, 2, 2, 2, 445, 446, 3, 2, 2, 2, 446, 101, 3, 2, 2, 2, 447, 448, 7, 44, 2, 2, 448, 449, 7, 45, 2, 2, 449, 103, 3, 2, 2, 2, 450, 451, 5, 108, 55, 2, 451, 452, 7, 40, 2, 2, 452, 453, 5, 108, 55, 2, 453, 105, 3, 2, 2, 2, 454, 456, 7, 51, 2, 2, 455, 457, 7, 42, 2, 2, 456, 455, 3, 2, 2, 2, 456, 457, 3, 2, 2, 2, 457, 107, 3, 2, 2, 2, 458, 461, 7, 44, 2, 2, 459, 461, 5, 102, 52, 2, 460, 458, 3, 2, 2, 2, 460, 459, 3, 2, 2, 2, 461, 109, 3, 2, 2, 2, 462, 463, 9, 7, 2, 2, 463, 111, 3, 2, 2, 2, 464, 467, 7, 56, 2, 2, 465, 467, 5, 106, 54, 2, 466, 464, 3, 2, 2, 2, 466, 465, 3, 2, 2, 2, 467, 113, 3, 2, 2, 2, 48, 117, 127, 139, 144, 152, 158, 165, 175, 182, 188, 193, 200, 206, 213, 219, 225, 232, 238, 244, 276, 282, 287, 294, 309, 320, 325, 333, 338, 346, 350, 354, 358, 364, 370, 375, 377, 390, 398, 407, 429, 436, 441, 445, 456, 460, 466]
\ No newline at end of file
+[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 3, 59, 470, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 4, 24, 9, 24, 4, 25, 9, 25, 4, 26, 9, 26, 4, 27, 9, 27, 4, 28, 9, 28, 4, 29, 9, 29, 4, 30, 9, 30, 4, 31, 9, 31, 4, 32, 9, 32, 4, 33, 9, 33, 4, 34, 9, 34, 4, 35, 9, 35, 4, 36, 9, 36, 4, 37, 9, 37, 4, 38, 9, 38, 4, 39, 9, 39, 4, 40, 9, 40, 4, 41, 9, 41, 4, 42, 9, 42, 4, 43, 9, 43, 4, 44, 9, 44, 4, 45, 9, 45, 4, 46, 9, 46, 4, 47, 9, 47, 4, 48, 9, 48, 4, 49, 9, 49, 4, 50, 9, 50, 4, 51, 9, 51, 4, 52, 9, 52, 4, 53, 9, 53, 4, 54, 9, 54, 4, 55, 9, 55, 4, 56, 9, 56, 4, 57, 9, 57, 3, 2, 7, 2, 116, 10, 2, 12, 2, 14, 2, 119, 11, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 5, 3, 128, 10, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 6, 5, 138, 10, 5, 13, 5, 14, 5, 139, 3, 5, 7, 5, 143, 10, 5, 12, 5, 14, 5, 146, 11, 5, 3, 6, 3, 6, 3, 6, 7, 6, 151, 10, 6, 12, 6, 14, 6, 154, 11, 6, 3, 6, 7, 6, 157, 10, 6, 12, 6, 14, 6, 160, 11, 6, 3, 7, 3, 7, 3, 7, 3, 7, 5, 7, 166, 10, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 5, 8, 176, 10, 8, 3, 9, 3, 9, 3, 9, 7, 9, 181, 10, 9, 12, 9, 14, 9, 184, 11, 9, 3, 9, 7, 9, 187, 10, 9, 12, 9, 14, 9, 190, 11, 9, 3, 10, 3, 10, 5, 10, 194, 10, 10, 3, 11, 3, 11, 3, 11, 6, 11, 199, 10, 11, 13, 11, 14, 11, 200, 3, 12, 3, 12, 3, 12, 3, 12, 5, 12, 207, 10, 12, 3, 13, 3, 13, 3, 13, 7, 13, 212, 10, 13, 12, 13, 14, 13, 215, 11, 13, 3, 13, 7, 13, 218, 10, 13, 12, 13, 14, 13, 221, 11, 13, 3, 14, 3, 14, 3, 14, 5, 14, 226, 10, 14, 3, 15, 3, 15, 3, 15, 7, 15, 231, 10, 15, 12, 15, 14, 15, 234, 11, 15, 3, 15, 7, 15, 237, 10, 15, 12, 15, 14, 15, 240, 11, 15, 3, 16, 3, 16, 3, 16, 5, 16, 245, 10, 16, 3, 17, 3, 17, 3, 17, 3, 18, 3, 18, 3, 18, 3, 19, 3, 19, 3, 19, 3, 20, 3, 20, 3, 20, 3, 21, 3, 21, 3, 21, 3, 22, 3, 22, 3, 22, 3, 23, 3, 23, 3, 23, 3, 24, 3, 24, 3, 24, 3, 25, 3, 25, 3, 25, 3, 25, 7, 25, 275, 10, 25, 12, 25, 14, 25, 278, 11, 25, 3, 26, 3, 26, 3, 26, 5, 26, 283, 10, 26, 3, 26, 6, 26, 286, 10, 26, 13, 26, 14, 26, 287, 3, 27, 3, 27, 3, 27, 3, 27, 3, 27, 5, 27, 295, 10, 27, 3, 28, 3, 28, 3, 28, 3, 28, 3, 28, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 3, 29, 7, 29, 308, 10, 29, 12, 29, 14, 29, 311, 11, 29, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 3, 30, 7, 30, 319, 10, 30, 12, 30, 14, 30, 322, 11, 30, 3, 31, 3, 31, 5, 31, 326, 10, 31, 3, 31, 3, 31, 3, 31, 3, 31, 7, 31, 332, 10, 31, 12, 31, 14, 31, 335, 11, 31, 3, 32, 3, 32, 5, 32, 339, 10, 32, 3, 32, 3, 32, 3, 32, 3, 32, 3, 33, 3, 33, 5, 33, 347, 10, 33, 3, 33, 3, 33, 5, 33, 351, 10, 33, 3, 34, 3, 34, 5, 34, 355, 10, 34, 3, 34, 3, 34, 5, 34, 359, 10, 34, 3, 35, 3, 35, 3, 35, 3, 35, 5, 35, 365, 10, 35, 3, 36, 3, 36, 3, 36, 3, 36, 5, 36, 371, 10, 36, 3, 36, 3, 36, 3, 36, 5, 36, 376, 10, 36, 5, 36, 378, 10, 36, 3, 37, 3, 37, 3, 37, 3, 38, 3, 38, 3, 38, 3, 39, 3, 39, 3, 39, 7, 39, 389, 10, 39, 12, 39, 14, 39, 392, 11, 39, 3, 39, 3, 39, 3, 40, 3, 40, 3, 40, 5, 40, 399, 10, 40, 3, 41, 3, 41, 3, 42, 3, 42, 3, 42, 3, 42, 3, 42, 5, 42, 408, 10, 42, 3, 43, 3, 43, 3, 44, 3, 44, 3, 45, 3, 45, 3, 46, 3, 46, 3, 47, 3, 47, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 3, 48, 5, 48, 430, 10, 48, 3, 49, 3, 49, 3, 49, 7, 49, 435, 10, 49, 12, 49, 14, 49, 438, 11, 49, 3, 50, 3, 50, 5, 50, 442, 10, 50, 3, 51, 3, 51, 3, 51, 5, 51, 447, 10, 51, 3, 52, 3, 52, 3, 52, 3, 53, 3, 53, 3, 53, 3, 53, 3, 54, 3, 54, 5, 54, 458, 10, 54, 3, 55, 3, 55, 5, 55, 462, 10, 55, 3, 56, 3, 56, 3, 57, 3, 57, 5, 57, 468, 10, 57, 3, 57, 2, 2, 58, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 106, 108, 110, 112, 2, 8, 3, 2, 42, 43, 3, 2, 55, 56, 4, 2, 38, 38, 56, 56, 3, 2, 18, 20, 3, 2, 22, 25, 3, 2, 31, 32, 2, 487, 2, 117, 3, 2, 2, 2, 4, 127, 3, 2, 2, 2, 6, 129, 3, 2, 2, 2, 8, 134, 3, 2, 2, 2, 10, 147, 3, 2, 2, 2, 12, 165, 3, 2, 2, 2, 14, 175, 3, 2, 2, 2, 16, 177, 3, 2, 2, 2, 18, 193, 3, 2, 2, 2, 20, 195, 3, 2, 2, 2, 22, 206, 3, 2, 2, 2, 24, 208, 3, 2, 2, 2, 26, 225, 3, 2, 2, 2, 28, 227, 3, 2, 2, 2, 30, 244, 3, 2, 2, 2, 32, 246, 3, 2, 2, 2, 34, 249, 3, 2, 2, 2, 36, 252, 3, 2, 2, 2, 38, 255, 3, 2, 2, 2, 40, 258, 3, 2, 2, 2, 42, 261, 3, 2, 2, 2, 44, 264, 3, 2, 2, 2, 46, 267, 3, 2, 2, 2, 48, 270, 3, 2, 2, 2, 50, 279, 3, 2, 2, 2, 52, 289, 3, 2, 2, 2, 54, 296, 3, 2, 2, 2, 56, 301, 3, 2, 2, 2, 58, 312, 3, 2, 2, 2, 60, 323, 3, 2, 2, 2, 62, 336, 3, 2, 2, 2, 64, 344, 3, 2, 2, 2, 66, 358, 3, 2, 2, 2, 68, 360, 3, 2, 2, 2, 70, 366, 3, 2, 2, 2, 72, 379, 3, 2, 2, 2, 74, 382, 3, 2, 2, 2, 76, 390, 3, 2, 2, 2, 78, 395, 3, 2, 2, 2, 80, 400, 3, 2, 2, 2, 82, 407, 3, 2, 2, 2, 84, 409, 3, 2, 2, 2, 86, 411, 3, 2, 2, 2, 88, 413, 3, 2, 2, 2, 90, 415, 3, 2, 2, 2, 92, 417, 3, 2, 2, 2, 94, 429, 3, 2, 2, 2, 96, 431, 3, 2, 2, 2, 98, 439, 3, 2, 2, 2, 100, 443, 3, 2, 2, 2, 102, 448, 3, 2, 2, 2, 104, 451, 3, 2, 2, 2, 106, 455, 3, 2, 2, 2, 108, 461, 3, 2, 2, 2, 110, 463, 3, 2, 2, 2, 112, 467, 3, 2, 2, 2, 114, 116, 5, 4, 3, 2, 115, 114, 3, 2, 2, 2, 116, 119, 3, 2, 2, 2, 117, 115, 3, 2, 2, 2, 117, 118, 3, 2, 2, 2, 118, 3, 3, 2, 2, 2, 119, 117, 3, 2, 2, 2, 120, 128, 5, 6, 4, 2, 121, 128, 5, 8, 5, 2, 122, 128, 5, 10, 6, 2, 123, 128, 5, 20, 11, 2, 124, 128, 5, 16, 9, 2, 125, 128, 5, 24, 13, 2, 126, 128, 5, 28, 15, 2, 127, 120, 3, 2, 2, 2, 127, 121, 3, 2, 2, 2, 127, 122, 3, 2, 2, 2, 127, 123, 3, 2, 2, 2, 127, 124, 3, 2, 2, 2, 127, 125, 3, 2, 2, 2, 127, 126, 3, 2, 2, 2, 128, 5, 3, 2, 2, 2, 129, 130, 7, 3, 2, 2, 130, 131, 7, 56, 2, 2, 131, 132, 7, 38, 2, 2, 132, 133, 7, 56, 2, 2, 133, 7, 3, 2, 2, 2, 134, 135, 7, 4, 2, 2, 135, 137, 7, 56, 2, 2, 136, 138, 5, 12, 7, 2, 137, 136, 3, 2, 2, 2, 138, 139, 3, 2, 2, 2, 139, 137, 3, 2, 2, 2, 139, 140, 3, 2, 2, 2, 140, 144, 3, 2, 2, 2, 141, 143, 5, 14, 8, 2, 142, 141, 3, 2, 2, 2, 143, 146, 3, 2, 2, 2, 144, 142, 3, 2, 2, 2, 144, 145, 3, 2, 2, 2, 145, 9, 3, 2, 2, 2, 146, 144, 3, 2, 2, 2, 147, 148, 7, 5, 2, 2, 148, 152, 7, 56, 2, 2, 149, 151, 5, 12, 7, 2, 150, 149, 3, 2, 2, 2, 151, 154, 3, 2, 2, 2, 152, 150, 3, 2, 2, 2, 152, 153, 3, 2, 2, 2, 153, 158, 3, 2, 2, 2, 154, 152, 3, 2, 2, 2, 155, 157, 5, 14, 8, 2, 156, 155, 3, 2, 2, 2, 157, 160, 3, 2, 2, 2, 158, 156, 3, 2, 2, 2, 158, 159, 3, 2, 2, 2, 159, 11, 3, 2, 2, 2, 160, 158, 3, 2, 2, 2, 161, 166, 5, 32, 17, 2, 162, 166, 5, 34, 18, 2, 163, 166, 5, 36, 19, 2, 164, 166, 5, 38, 20, 2, 165, 161, 3, 2, 2, 2, 165, 162, 3, 2, 2, 2, 165, 163, 3, 2, 2, 2, 165, 164, 3, 2, 2, 2, 166, 13, 3, 2, 2, 2, 167, 176, 5, 48, 25, 2, 168, 176, 5, 50, 26, 2, 169, 176, 5, 52, 27, 2, 170, 176, 5, 54, 28, 2, 171, 176, 5, 56, 29, 2, 172, 176, 5, 58, 30, 2, 173, 176, 5, 60, 31, 2, 174, 176, 5, 62, 32, 2, 175, 167, 3, 2, 2, 2, 175, 168, 3, 2, 2, 2, 175, 169, 3, 2, 2, 2, 175, 170, 3, 2, 2, 2, 175, 171, 3, 2, 2, 2, 175, 172, 3, 2, 2, 2, 175, 173, 3, 2, 2, 2, 175, 174, 3, 2, 2, 2, 176, 15, 3, 2, 2, 2, 177, 178, 7, 6, 2, 2, 178, 182, 7, 56, 2, 2, 179, 181, 5, 18, 10, 2, 180, 179, 3, 2, 2, 2, 181, 184, 3, 2, 2, 2, 182, 180, 3, 2, 2, 2, 182, 183, 3, 2, 2, 2, 183, 188, 3, 2, 2, 2, 184, 182, 3, 2, 2, 2, 185, 187, 5, 54, 28, 2, 186, 185, 3, 2, 2, 2, 187, 190, 3, 2, 2, 2, 188, 186, 3, 2, 2, 2, 188, 189, 3, 2, 2, 2, 189, 17, 3, 2, 2, 2, 190, 188, 3, 2, 2, 2, 191, 194, 5, 46, 24, 2, 192, 194, 5, 36, 19, 2, 193, 191, 3, 2, 2, 2, 193, 192, 3, 2, 2, 2, 194, 19, 3, 2, 2, 2, 195, 196, 7, 8, 2, 2, 196, 198, 7, 56, 2, 2, 197, 199, 5, 22, 12, 2, 198, 197, 3, 2, 2, 2, 199, 200, 3, 2, 2, 2, 200, 198, 3, 2, 2, 2, 200, 201, 3, 2, 2, 2, 201, 21, 3, 2, 2, 2, 202, 207, 5, 38, 20, 2, 203, 207, 5, 40, 21, 2, 204, 207, 5, 42, 22, 2, 205, 207, 5, 44, 23, 2, 206, 202, 3, 2, 2, 2, 206, 203, 3, 2, 2, 2, 206, 204, 3, 2, 2, 2, 206, 205, 3, 2, 2, 2, 207, 23, 3, 2, 2, 2, 208, 209, 7, 9, 2, 2, 209, 213, 7, 56, 2, 2, 210, 212, 5, 26, 14, 2, 211, 210, 3, 2, 2, 2, 212, 215, 3, 2, 2, 2, 213, 211, 3, 2, 2, 2, 213, 214, 3, 2, 2, 2, 214, 219, 3, 2, 2, 2, 215, 213, 3, 2, 2, 2, 216, 218, 5, 64, 33, 2, 217, 216, 3, 2, 2, 2, 218, 221, 3, 2, 2, 2, 219, 217, 3, 2, 2, 2, 219, 220, 3, 2, 2, 2, 220, 25, 3, 2, 2, 2, 221, 219, 3, 2, 2, 2, 222, 226, 5, 34, 18, 2, 223, 226, 5, 36, 19, 2, 224, 226, 5, 38, 20, 2, 225, 222, 3, 2, 2, 2, 225, 223, 3, 2, 2, 2, 225, 224, 3, 2, 2, 2, 226, 27, 3, 2, 2, 2, 227, 228, 7, 10, 2, 2, 228, 232, 7, 56, 2, 2, 229, 231, 5, 30, 16, 2, 230, 229, 3, 2, 2, 2, 231, 234, 3, 2, 2, 2, 232, 230, 3, 2, 2, 2, 232, 233, 3, 2, 2, 2, 233, 238, 3, 2, 2, 2, 234, 232, 3, 2, 2, 2, 235, 237, 5, 100, 51, 2, 236, 235, 3, 2, 2, 2, 237, 240, 3, 2, 2, 2, 238, 236, 3, 2, 2, 2, 238, 239, 3, 2, 2, 2, 239, 29, 3, 2, 2, 2, 240, 238, 3, 2, 2, 2, 241, 245, 5, 34, 18, 2, 242, 245, 5, 36, 19, 2, 243, 245, 5, 38, 20, 2, 244, 241, 3, 2, 2, 2, 244, 242, 3, 2, 2, 2, 244, 243, 3, 2, 2, 2, 245, 31, 3, 2, 2, 2, 246, 247, 7, 11, 2, 2, 247, 248, 7, 56, 2, 2, 248, 33, 3, 2, 2, 2, 249, 250, 7, 12, 2, 2, 250, 251, 7, 56, 2, 2, 251, 35, 3, 2, 2, 2, 252, 253, 7, 13, 2, 2, 253, 254, 7, 42, 2, 2, 254, 37, 3, 2, 2, 2, 255, 256, 7, 14, 2, 2, 256, 257, 9, 2, 2, 2, 257, 39, 3, 2, 2, 2, 258, 259, 7, 15, 2, 2, 259, 260, 7, 42, 2, 2, 260, 41, 3, 2, 2, 2, 261, 262, 7, 16, 2, 2, 262, 263, 7, 42, 2, 2, 263, 43, 3, 2, 2, 2, 264, 265, 7, 17, 2, 2, 265, 266, 7, 46, 2, 2, 266, 45, 3, 2, 2, 2, 267, 268, 7, 7, 2, 2, 268, 269, 7, 56, 2, 2, 269, 47, 3, 2, 2, 2, 270, 271, 7, 39, 2, 2, 271, 272, 5, 84, 43, 2, 272, 276, 7, 50, 2, 2, 273, 275, 5, 90, 46, 2, 274, 273, 3, 2, 2, 2, 275, 278, 3, 2, 2, 2, 276, 274, 3, 2, 2, 2, 276, 277, 3, 2, 2, 2, 277, 49, 3, 2, 2, 2, 278, 276, 3, 2, 2, 2, 279, 282, 7, 39, 2, 2, 280, 283, 5, 84, 43, 2, 281, 283, 5, 86, 44, 2, 282, 280, 3, 2, 2, 2, 282, 281, 3, 2, 2, 2, 283, 285, 3, 2, 2, 2, 284, 286, 5, 90, 46, 2, 285, 284, 3, 2, 2, 2, 286, 287, 3, 2, 2, 2, 287, 285, 3, 2, 2, 2, 287, 288, 3, 2, 2, 2, 288, 51, 3, 2, 2, 2, 289, 290, 7, 39, 2, 2, 290, 291, 5, 84, 43, 2, 291, 292, 7, 21, 2, 2, 292, 294, 7, 56, 2, 2, 293, 295, 5, 92, 47, 2, 294, 293, 3, 2, 2, 2, 294, 295, 3, 2, 2, 2, 295, 53, 3, 2, 2, 2, 296, 297, 7, 39, 2, 2, 297, 298, 5, 84, 43, 2, 298, 299, 7, 38, 2, 2, 299, 300, 5, 94, 48, 2, 300, 55, 3, 2, 2, 2, 301, 302, 7, 39, 2, 2, 302, 303, 5, 84, 43, 2, 303, 304, 7, 26, 2, 2, 304, 309, 5, 96, 49, 2, 305, 306, 7, 27, 2, 2, 306, 308, 5, 96, 49, 2, 307, 305, 3, 2, 2, 2, 308, 311, 3, 2, 2, 2, 309, 307, 3, 2, 2, 2, 309, 310, 3, 2, 2, 2, 310, 57, 3, 2, 2, 2, 311, 309, 3, 2, 2, 2, 312, 313, 7, 39, 2, 2, 313, 314, 5, 84, 43, 2, 314, 315, 7, 28, 2, 2, 315, 320, 5, 112, 57, 2, 316, 317, 7, 29, 2, 2, 317, 319, 5, 112, 57, 2, 318, 316, 3, 2, 2, 2, 319, 322, 3, 2, 2, 2, 320, 318, 3, 2, 2, 2, 320, 321, 3, 2, 2, 2, 321, 59, 3, 2, 2, 2, 322, 320, 3, 2, 2, 2, 323, 325, 7, 39, 2, 2, 324, 326, 5, 84, 43, 2, 325, 324, 3, 2, 2, 2, 325, 326, 3, 2, 2, 2, 326, 327, 3, 2, 2, 2, 327, 328, 7, 30, 2, 2, 328, 333, 7, 56, 2, 2, 329, 330, 7, 27, 2, 2, 330, 332, 7, 56, 2, 2, 331, 329, 3, 2, 2, 2, 332, 335, 3, 2, 2, 2, 333, 331, 3, 2, 2, 2, 333, 334, 3, 2, 2, 2, 334, 61, 3, 2, 2, 2, 335, 333, 3, 2, 2, 2, 336, 338, 7, 39, 2, 2, 337, 339, 5, 84, 43, 2, 338, 337, 3, 2, 2, 2, 338, 339, 3, 2, 2, 2, 339, 340, 3, 2, 2, 2, 340, 341, 5, 88, 45, 2, 341, 342, 7, 38, 2, 2, 342, 343, 5, 94, 48, 2, 343, 63, 3, 2, 2, 2, 344, 346, 7, 39, 2, 2, 345, 347, 7, 33, 2, 2, 346, 345, 3, 2, 2, 2, 346, 347, 3, 2, 2, 2, 347, 350, 3, 2, 2, 2, 348, 351, 5, 66, 34, 2, 349, 351, 5, 68, 35, 2, 350, 348, 3, 2, 2, 2, 350, 349, 3, 2, 2, 2, 351, 65, 3, 2, 2, 2, 352, 354, 5, 98, 50, 2, 353, 355, 5, 70, 36, 2, 354, 353, 3, 2, 2, 2, 354, 355, 3, 2, 2, 2, 355, 359, 3, 2, 2, 2, 356, 357, 7, 54, 2, 2, 357, 359, 5, 70, 36, 2, 358, 352, 3, 2, 2, 2, 358, 356, 3, 2, 2, 2, 359, 67, 3, 2, 2, 2, 360, 361, 7, 34, 2, 2, 361, 364, 5, 70, 36, 2, 362, 363, 7, 35, 2, 2, 363, 365, 5, 76, 39, 2, 364, 362, 3, 2, 2, 2, 364, 365, 3, 2, 2, 2, 365, 69, 3, 2, 2, 2, 366, 377, 7, 21, 2, 2, 367, 370, 5, 72, 37, 2, 368, 369, 7, 27, 2, 2, 369, 371, 5, 74, 38, 2, 370, 368, 3, 2, 2, 2, 370, 371, 3, 2, 2, 2, 371, 378, 3, 2, 2, 2, 372, 375, 5, 74, 38, 2, 373, 374, 7, 27, 2, 2, 374, 376, 5, 72, 37, 2, 375, 373, 3, 2, 2, 2, 375, 376, 3, 2, 2, 2, 376, 378, 3, 2, 2, 2, 377, 367, 3, 2, 2, 2, 377, 372, 3, 2, 2, 2, 378, 71, 3, 2, 2, 2, 379, 380, 7, 37, 2, 2, 380, 381, 7, 56, 2, 2, 381, 73, 3, 2, 2, 2, 382, 383, 7, 36, 2, 2, 383, 384, 9, 3, 2, 2, 384, 75, 3, 2, 2, 2, 385, 386, 5, 78, 40, 2, 386, 387, 7, 27, 2, 2, 387, 389, 3, 2, 2, 2, 388, 385, 3, 2, 2, 2, 389, 392, 3, 2, 2, 2, 390, 388, 3, 2, 2, 2, 390, 391, 3, 2, 2, 2, 391, 393, 3, 2, 2, 2, 392, 390, 3, 2, 2, 2, 393, 394, 5, 78, 40, 2, 394, 77, 3, 2, 2, 2, 395, 396, 7, 56, 2, 2, 396, 398, 5, 80, 41, 2, 397, 399, 5, 82, 42, 2, 398, 397, 3, 2, 2, 2, 398, 399, 3, 2, 2, 2, 399, 79, 3, 2, 2, 2, 400, 401, 9, 4, 2, 2, 401, 81, 3, 2, 2, 2, 402, 408, 5, 98, 50, 2, 403, 408, 7, 31, 2, 2, 404, 408, 7, 32, 2, 2, 405, 408, 7, 53, 2, 2, 406, 408, 7, 42, 2, 2, 407, 402, 3, 2, 2, 2, 407, 403, 3, 2, 2, 2, 407, 404, 3, 2, 2, 2, 407, 405, 3, 2, 2, 2, 407, 406, 3, 2, 2, 2, 408, 83, 3, 2, 2, 2, 409, 410, 7, 56, 2, 2, 410, 85, 3, 2, 2, 2, 411, 412, 7, 55, 2, 2, 412, 87, 3, 2, 2, 2, 413, 414, 7, 52, 2, 2, 414, 89, 3, 2, 2, 2, 415, 416, 9, 5, 2, 2, 416, 91, 3, 2, 2, 2, 417, 418, 9, 6, 2, 2, 418, 93, 3, 2, 2, 2, 419, 430, 7, 42, 2, 2, 420, 430, 7, 43, 2, 2, 421, 430, 7, 44, 2, 2, 422, 430, 7, 48, 2, 2, 423, 430, 7, 49, 2, 2, 424, 430, 5, 106, 54, 2, 425, 430, 5, 98, 50, 2, 426, 430, 5, 102, 52, 2, 427, 430, 5, 104, 53, 2, 428, 430, 5, 110, 56, 2, 429, 419, 3, 2, 2, 2, 429, 420, 3, 2, 2, 2, 429, 421, 3, 2, 2, 2, 429, 422, 3, 2, 2, 2, 429, 423, 3, 2, 2, 2, 429, 424, 3, 2, 2, 2, 429, 425, 3, 2, 2, 2, 429, 426, 3, 2, 2, 2, 429, 427, 3, 2, 2, 2, 429, 428, 3, 2, 2, 2, 430, 95, 3, 2, 2, 2, 431, 432, 7, 56, 2, 2, 432, 436, 7, 50, 2, 2, 433, 435, 5, 90, 46, 2, 434, 433, 3, 2, 2, 2, 435, 438, 3, 2, 2, 2, 436, 434, 3, 2, 2, 2, 436, 437, 3, 2, 2, 2, 437, 97, 3, 2, 2, 2, 438, 436, 3, 2, 2, 2, 439, 441, 7, 46, 2, 2, 440, 442, 7, 42, 2, 2, 441, 440, 3, 2, 2, 2, 441, 442, 3, 2, 2, 2, 442, 99, 3, 2, 2, 2, 443, 444, 7, 39, 2, 2, 444, 446, 5, 98, 50, 2, 445, 447, 7, 42, 2, 2, 446, 445, 3, 2, 2, 2, 446, 447, 3, 2, 2, 2, 447, 101, 3, 2, 2, 2, 448, 449, 7, 44, 2, 2, 449, 450, 7, 45, 2, 2, 450, 103, 3, 2, 2, 2, 451, 452, 5, 108, 55, 2, 452, 453, 7, 40, 2, 2, 453, 454, 5, 108, 55, 2, 454, 105, 3, 2, 2, 2, 455, 457, 7, 51, 2, 2, 456, 458, 7, 42, 2, 2, 457, 456, 3, 2, 2, 2, 457, 458, 3, 2, 2, 2, 458, 107, 3, 2, 2, 2, 459, 462, 7, 44, 2, 2, 460, 462, 5, 102, 52, 2, 461, 459, 3, 2, 2, 2, 461, 460, 3, 2, 2, 2, 462, 109, 3, 2, 2, 2, 463, 464, 9, 7, 2, 2, 464, 111, 3, 2, 2, 2, 465, 468, 7, 56, 2, 2, 466, 468, 5, 106, 54, 2, 467, 465, 3, 2, 2, 2, 467, 466, 3, 2, 2, 2, 468, 113, 3, 2, 2, 2, 48, 117, 127, 139, 144, 152, 158, 165, 175, 182, 188, 193, 200, 206, 213, 219, 225, 232, 238, 244, 276, 282, 287, 294, 309, 320, 325, 333, 338, 346, 350, 354, 358, 364, 370, 375, 377, 390, 398, 407, 429, 436, 441, 446, 457, 461, 467]
\ No newline at end of file
diff --git a/src/import/generated/FSHParser.js b/src/import/generated/FSHParser.js
index 90b1ae3..8570f60 100644
--- a/src/import/generated/FSHParser.js
+++ b/src/import/generated/FSHParser.js
@@ -8,7 +8,7 @@ var grammarFileName = "FSH.g4";
 
 
 var serializedATN = ["\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964",
-    "\u0003;\u01d5\u0004\u0002\t\u0002\u0004\u0003\t\u0003\u0004\u0004\t",
+    "\u0003;\u01d6\u0004\u0002\t\u0002\u0004\u0003\t\u0003\u0004\u0004\t",
     "\u0004\u0004\u0005\t\u0005\u0004\u0006\t\u0006\u0004\u0007\t\u0007\u0004",
     "\b\t\b\u0004\t\t\t\u0004\n\t\n\u0004\u000b\t\u000b\u0004\f\t\f\u0004",
     "\r\t\r\u0004\u000e\t\u000e\u0004\u000f\t\u000f\u0004\u0010\t\u0010\u0004",
@@ -68,13 +68,13 @@ var serializedATN = ["\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964",
     "-\u0003.\u0003.\u0003/\u0003/\u00030\u00030\u00030\u00030\u00030\u0003",
     "0\u00030\u00030\u00030\u00030\u00050\u01ae\n0\u00031\u00031\u00031\u0007",
     "1\u01b3\n1\f1\u000e1\u01b6\u000b1\u00032\u00032\u00052\u01ba\n2\u0003",
-    "3\u00033\u00053\u01be\n3\u00034\u00034\u00034\u00035\u00035\u00035\u0003",
-    "5\u00036\u00036\u00056\u01c9\n6\u00037\u00037\u00057\u01cd\n7\u0003",
-    "8\u00038\u00039\u00039\u00059\u01d3\n9\u00039\u0002\u0002:\u0002\u0004",
-    "\u0006\b\n\f\u000e\u0010\u0012\u0014\u0016\u0018\u001a\u001c\u001e ",
-    "\"$&(*,.02468:<>@BDFHJLNPRTVXZ\\^`bdfhjlnp\u0002\b\u0003\u0002*+\u0003",
+    "3\u00033\u00033\u00053\u01bf\n3\u00034\u00034\u00034\u00035\u00035\u0003",
+    "5\u00035\u00036\u00036\u00056\u01ca\n6\u00037\u00037\u00057\u01ce\n",
+    "7\u00038\u00038\u00039\u00039\u00059\u01d4\n9\u00039\u0002\u0002:\u0002",
+    "\u0004\u0006\b\n\f\u000e\u0010\u0012\u0014\u0016\u0018\u001a\u001c\u001e",
+    " \"$&(*,.02468:<>@BDFHJLNPRTVXZ\\^`bdfhjlnp\u0002\b\u0003\u0002*+\u0003",
     "\u000278\u0004\u0002&&88\u0003\u0002\u0012\u0014\u0003\u0002\u0016\u0019",
-    "\u0003\u0002\u001f \u0002\u01e6\u0002u\u0003\u0002\u0002\u0002\u0004",
+    "\u0003\u0002\u001f \u0002\u01e7\u0002u\u0003\u0002\u0002\u0002\u0004",
     "\u007f\u0003\u0002\u0002\u0002\u0006\u0081\u0003\u0002\u0002\u0002\b",
     "\u0086\u0003\u0002\u0002\u0002\n\u0093\u0003\u0002\u0002\u0002\f\u00a5",
     "\u0003\u0002\u0002\u0002\u000e\u00af\u0003\u0002\u0002\u0002\u0010\u00b1",
@@ -97,10 +97,10 @@ var serializedATN = ["\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964",
     "\u0002\u0002V\u019b\u0003\u0002\u0002\u0002X\u019d\u0003\u0002\u0002",
     "\u0002Z\u019f\u0003\u0002\u0002\u0002\\\u01a1\u0003\u0002\u0002\u0002",
     "^\u01ad\u0003\u0002\u0002\u0002`\u01af\u0003\u0002\u0002\u0002b\u01b7",
-    "\u0003\u0002\u0002\u0002d\u01bb\u0003\u0002\u0002\u0002f\u01bf\u0003",
-    "\u0002\u0002\u0002h\u01c2\u0003\u0002\u0002\u0002j\u01c6\u0003\u0002",
-    "\u0002\u0002l\u01cc\u0003\u0002\u0002\u0002n\u01ce\u0003\u0002\u0002",
-    "\u0002p\u01d2\u0003\u0002\u0002\u0002rt\u0005\u0004\u0003\u0002sr\u0003",
+    "\u0003\u0002\u0002\u0002d\u01bb\u0003\u0002\u0002\u0002f\u01c0\u0003",
+    "\u0002\u0002\u0002h\u01c3\u0003\u0002\u0002\u0002j\u01c7\u0003\u0002",
+    "\u0002\u0002l\u01cd\u0003\u0002\u0002\u0002n\u01cf\u0003\u0002\u0002",
+    "\u0002p\u01d3\u0003\u0002\u0002\u0002rt\u0005\u0004\u0003\u0002sr\u0003",
     "\u0002\u0002\u0002tw\u0003\u0002\u0002\u0002us\u0003\u0002\u0002\u0002",
     "uv\u0003\u0002\u0002\u0002v\u0003\u0003\u0002\u0002\u0002wu\u0003\u0002",
     "\u0002\u0002x\u0080\u0005\u0006\u0004\u0002y\u0080\u0005\b\u0005\u0002",
@@ -289,24 +289,24 @@ var serializedATN = ["\u0003\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964",
     "\u01b5a\u0003\u0002\u0002\u0002\u01b6\u01b4\u0003\u0002\u0002\u0002",
     "\u01b7\u01b9\u0007.\u0002\u0002\u01b8\u01ba\u0007*\u0002\u0002\u01b9",
     "\u01b8\u0003\u0002\u0002\u0002\u01b9\u01ba\u0003\u0002\u0002\u0002\u01ba",
-    "c\u0003\u0002\u0002\u0002\u01bb\u01bd\u0005b2\u0002\u01bc\u01be\u0007",
-    "*\u0002\u0002\u01bd\u01bc\u0003\u0002\u0002\u0002\u01bd\u01be\u0003",
-    "\u0002\u0002\u0002\u01bee\u0003\u0002\u0002\u0002\u01bf\u01c0\u0007",
-    ",\u0002\u0002\u01c0\u01c1\u0007-\u0002\u0002\u01c1g\u0003\u0002\u0002",
-    "\u0002\u01c2\u01c3\u0005l7\u0002\u01c3\u01c4\u0007(\u0002\u0002\u01c4",
-    "\u01c5\u0005l7\u0002\u01c5i\u0003\u0002\u0002\u0002\u01c6\u01c8\u0007",
-    "3\u0002\u0002\u01c7\u01c9\u0007*\u0002\u0002\u01c8\u01c7\u0003\u0002",
-    "\u0002\u0002\u01c8\u01c9\u0003\u0002\u0002\u0002\u01c9k\u0003\u0002",
-    "\u0002\u0002\u01ca\u01cd\u0007,\u0002\u0002\u01cb\u01cd\u0005f4\u0002",
-    "\u01cc\u01ca\u0003\u0002\u0002\u0002\u01cc\u01cb\u0003\u0002\u0002\u0002",
-    "\u01cdm\u0003\u0002\u0002\u0002\u01ce\u01cf\t\u0007\u0002\u0002\u01cf",
-    "o\u0003\u0002\u0002\u0002\u01d0\u01d3\u00078\u0002\u0002\u01d1\u01d3",
-    "\u0005j6\u0002\u01d2\u01d0\u0003\u0002\u0002\u0002\u01d2\u01d1\u0003",
-    "\u0002\u0002\u0002\u01d3q\u0003\u0002\u0002\u00020u\u007f\u008b\u0090",
-    "\u0098\u009e\u00a5\u00af\u00b6\u00bc\u00c1\u00c8\u00ce\u00d5\u00db\u00e1",
-    "\u00e8\u00ee\u00f4\u0114\u011a\u011f\u0126\u0135\u0140\u0145\u014d\u0152",
-    "\u015a\u015e\u0162\u0166\u016c\u0172\u0177\u0179\u0186\u018e\u0197\u01ad",
-    "\u01b4\u01b9\u01bd\u01c8\u01cc\u01d2"].join("");
+    "c\u0003\u0002\u0002\u0002\u01bb\u01bc\u0007\'\u0002\u0002\u01bc\u01be",
+    "\u0005b2\u0002\u01bd\u01bf\u0007*\u0002\u0002\u01be\u01bd\u0003\u0002",
+    "\u0002\u0002\u01be\u01bf\u0003\u0002\u0002\u0002\u01bfe\u0003\u0002",
+    "\u0002\u0002\u01c0\u01c1\u0007,\u0002\u0002\u01c1\u01c2\u0007-\u0002",
+    "\u0002\u01c2g\u0003\u0002\u0002\u0002\u01c3\u01c4\u0005l7\u0002\u01c4",
+    "\u01c5\u0007(\u0002\u0002\u01c5\u01c6\u0005l7\u0002\u01c6i\u0003\u0002",
+    "\u0002\u0002\u01c7\u01c9\u00073\u0002\u0002\u01c8\u01ca\u0007*\u0002",
+    "\u0002\u01c9\u01c8\u0003\u0002\u0002\u0002\u01c9\u01ca\u0003\u0002\u0002",
+    "\u0002\u01cak\u0003\u0002\u0002\u0002\u01cb\u01ce\u0007,\u0002\u0002",
+    "\u01cc\u01ce\u0005f4\u0002\u01cd\u01cb\u0003\u0002\u0002\u0002\u01cd",
+    "\u01cc\u0003\u0002\u0002\u0002\u01cem\u0003\u0002\u0002\u0002\u01cf",
+    "\u01d0\t\u0007\u0002\u0002\u01d0o\u0003\u0002\u0002\u0002\u01d1\u01d4",
+    "\u00078\u0002\u0002\u01d2\u01d4\u0005j6\u0002\u01d3\u01d1\u0003\u0002",
+    "\u0002\u0002\u01d3\u01d2\u0003\u0002\u0002\u0002\u01d4q\u0003\u0002",
+    "\u0002\u00020u\u007f\u008b\u0090\u0098\u009e\u00a5\u00af\u00b6\u00bc",
+    "\u00c1\u00c8\u00ce\u00d5\u00db\u00e1\u00e8\u00ee\u00f4\u0114\u011a\u011f",
+    "\u0126\u0135\u0140\u0145\u014d\u0152\u015a\u015e\u0162\u0166\u016c\u0172",
+    "\u0177\u0179\u0186\u018e\u0197\u01ad\u01b4\u01b9\u01be\u01c9\u01cd\u01d3"].join("");
 
 
 var atn = new antlr4.atn.ATNDeserializer().deserialize(serializedATN);
@@ -1979,7 +1979,7 @@ FSHParser.prototype.codeSystem = function() {
         this.state = 236;
         this._errHandler.sync(this);
         _la = this._input.LA(1);
-        while(_la===FSHParser.CODE) {
+        while(_la===FSHParser.STAR) {
             this.state = 233;
             this.concept();
             this.state = 238;
@@ -5245,6 +5245,10 @@ function ConceptContext(parser, parent, invokingState) {
 ConceptContext.prototype = Object.create(antlr4.ParserRuleContext.prototype);
 ConceptContext.prototype.constructor = ConceptContext;
 
+ConceptContext.prototype.STAR = function() {
+    return this.getToken(FSHParser.STAR, 0);
+};
+
 ConceptContext.prototype.code = function() {
     return this.getTypedRuleContext(CodeContext,0);
 };
@@ -5286,12 +5290,14 @@ FSHParser.prototype.concept = function() {
     try {
         this.enterOuterAlt(localctx, 1);
         this.state = 441;
+        this.match(FSHParser.STAR);
+        this.state = 442;
         this.code();
-        this.state = 443;
+        this.state = 444;
         this._errHandler.sync(this);
         _la = this._input.LA(1);
         if(_la===FSHParser.STRING) {
-            this.state = 442;
+            this.state = 443;
             this.match(FSHParser.STRING);
         }
 
@@ -5365,9 +5371,9 @@ FSHParser.prototype.quantity = function() {
     this.enterRule(localctx, 100, FSHParser.RULE_quantity);
     try {
         this.enterOuterAlt(localctx, 1);
-        this.state = 445;
-        this.match(FSHParser.NUMBER);
         this.state = 446;
+        this.match(FSHParser.NUMBER);
+        this.state = 447;
         this.match(FSHParser.UNIT);
     } catch (re) {
     	if(re instanceof antlr4.error.RecognitionException) {
@@ -5446,11 +5452,11 @@ FSHParser.prototype.ratio = function() {
     this.enterRule(localctx, 102, FSHParser.RULE_ratio);
     try {
         this.enterOuterAlt(localctx, 1);
-        this.state = 448;
-        this.ratioPart();
         this.state = 449;
-        this.match(FSHParser.COLON);
+        this.ratioPart();
         this.state = 450;
+        this.match(FSHParser.COLON);
+        this.state = 451;
         this.ratioPart();
     } catch (re) {
     	if(re instanceof antlr4.error.RecognitionException) {
@@ -5523,13 +5529,13 @@ FSHParser.prototype.reference = function() {
     var _la = 0; // Token type
     try {
         this.enterOuterAlt(localctx, 1);
-        this.state = 452;
+        this.state = 453;
         this.match(FSHParser.REFERENCE);
-        this.state = 454;
+        this.state = 455;
         this._errHandler.sync(this);
         _la = this._input.LA(1);
         if(_la===FSHParser.STRING) {
-            this.state = 453;
+            this.state = 454;
             this.match(FSHParser.STRING);
         }
 
@@ -5602,19 +5608,19 @@ FSHParser.prototype.ratioPart = function() {
     var localctx = new RatioPartContext(this, this._ctx, this.state);
     this.enterRule(localctx, 106, FSHParser.RULE_ratioPart);
     try {
-        this.state = 458;
+        this.state = 459;
         this._errHandler.sync(this);
         var la_ = this._interp.adaptivePredict(this._input,44,this._ctx);
         switch(la_) {
         case 1:
             this.enterOuterAlt(localctx, 1);
-            this.state = 456;
+            this.state = 457;
             this.match(FSHParser.NUMBER);
             break;
 
         case 2:
             this.enterOuterAlt(localctx, 2);
-            this.state = 457;
+            this.state = 458;
             this.quantity();
             break;
 
@@ -5690,7 +5696,7 @@ FSHParser.prototype.bool = function() {
     var _la = 0; // Token type
     try {
         this.enterOuterAlt(localctx, 1);
-        this.state = 460;
+        this.state = 461;
         _la = this._input.LA(1);
         if(!(_la===FSHParser.KW_TRUE || _la===FSHParser.KW_FALSE)) {
         this._errHandler.recoverInline(this);
@@ -5768,17 +5774,17 @@ FSHParser.prototype.targetType = function() {
     var localctx = new TargetTypeContext(this, this._ctx, this.state);
     this.enterRule(localctx, 110, FSHParser.RULE_targetType);
     try {
-        this.state = 464;
+        this.state = 465;
         this._errHandler.sync(this);
         switch(this._input.LA(1)) {
         case FSHParser.SEQUENCE:
             this.enterOuterAlt(localctx, 1);
-            this.state = 462;
+            this.state = 463;
             this.match(FSHParser.SEQUENCE);
             break;
         case FSHParser.REFERENCE:
             this.enterOuterAlt(localctx, 2);
-            this.state = 463;
+            this.state = 464;
             this.reference();
             break;
         default:


Test patch:
diff --git a/test/import/FSHImporter.CodeSystem.test.ts b/test/import/FSHImporter.CodeSystem.test.ts
index deafc79..cc27994 100644
--- a/test/import/FSHImporter.CodeSystem.test.ts
+++ b/test/import/FSHImporter.CodeSystem.test.ts
@@ -130,7 +130,7 @@ describe('FSHImporter', () => {
       it('should parse a code system with one concept', () => {
         const input = `
         CodeSystem: ZOO
-        #lion
+        * #lion
         `;
         const result = importSingleText(input, 'Zoo.fsh');
         expect(result.codeSystems.size).toBe(1);
@@ -144,7 +144,7 @@ describe('FSHImporter', () => {
           startLine: 3,
           startColumn: 9,
           endLine: 3,
-          endColumn: 13
+          endColumn: 15
         });
         expect(codeSystem.concepts[0].sourceInfo.file).toBe('Zoo.fsh');
       });
@@ -152,7 +152,7 @@ describe('FSHImporter', () => {
       it('should parse a code system with one concept with a display string', () => {
         const input = `
         CodeSystem: ZOO
-        #tiger "Tiger"
+        * #tiger "Tiger"
         `;
         const result = importSingleText(input, 'Zoo.fsh');
         expect(result.codeSystems.size).toBe(1);
@@ -166,7 +166,7 @@ describe('FSHImporter', () => {
           startLine: 3,
           startColumn: 9,
           endLine: 3,
-          endColumn: 22
+          endColumn: 24
         });
         expect(codeSystem.concepts[0].sourceInfo.file).toBe('Zoo.fsh');
       });
@@ -174,7 +174,7 @@ describe('FSHImporter', () => {
       it('should parse a code system with one concept with display and definition strings', () => {
         const input = `
         CodeSystem: ZOO
-        #bear "Bear" "A member of family Ursidae."
+        * #bear "Bear" "A member of family Ursidae."
         `;
         const result = importSingleText(input, 'Zoo.fsh');
         expect(result.codeSystems.size).toBe(1);
@@ -188,7 +188,7 @@ describe('FSHImporter', () => {
           startLine: 3,
           startColumn: 9,
           endLine: 3,
-          endColumn: 50
+          endColumn: 52
         });
         expect(codeSystem.concepts[0].sourceInfo.file).toBe('Zoo.fsh');
       });
@@ -196,9 +196,9 @@ describe('FSHImporter', () => {
       it('should parse a code system with more than one concept', () => {
         const input = `
         CodeSystem: ZOO
-        #lion
-        #tiger "Tiger"
-        #bear "Bear" "A member of family Ursidae."
+        * #lion
+        * #tiger "Tiger"
+        * #bear "Bear" "A member of family Ursidae."
         `;
         const result = importSingleText(input, 'Zoo.fsh');
         expect(result.codeSystems.size).toBe(1);
@@ -212,7 +212,7 @@ describe('FSHImporter', () => {
           startLine: 3,
           startColumn: 9,
           endLine: 3,
-          endColumn: 13
+          endColumn: 15
         });
         expect(codeSystem.concepts[0].sourceInfo.file).toBe('Zoo.fsh');
         expect(codeSystem.concepts[1].code).toBe('tiger');
@@ -222,7 +222,7 @@ describe('FSHImporter', () => {
           startLine: 4,
           startColumn: 9,
           endLine: 4,
-          endColumn: 22
+          endColumn: 24
         });
         expect(codeSystem.concepts[1].sourceInfo.file).toBe('Zoo.fsh');
         expect(codeSystem.concepts[2].code).toBe('bear');
@@ -232,7 +232,7 @@ describe('FSHImporter', () => {
           startLine: 5,
           startColumn: 9,
           endLine: 5,
-          endColumn: 50
+          endColumn: 52
         });
         expect(codeSystem.concepts[2].sourceInfo.file).toBe('Zoo.fsh');
       });
@@ -240,8 +240,8 @@ describe('FSHImporter', () => {
       it('should log an error when encountering a duplicate code', () => {
         const input = `
         CodeSystem: ZOO
-        #goat
-        #goat
+        * #goat
+        * #goat
         `;
         const result = importSingleText(input, 'Zoo.fsh');
         expect(result.codeSystems.size).toBe(1);
@@ -254,9 +254,9 @@ describe('FSHImporter', () => {
       it('should log an error when a concept includes a system declaration', () => {
         const input = `
         CodeSystem: ZOO
-        #goat
-        ZOO#bat
-        CRYPTID#jackalope
+        * #goat
+        * ZOO#bat
+        * CRYPTID#jackalope
         `;
         const result = importSingleText(input, 'Zoo.fsh');
         expect(result.codeSystems.size).toBe(1);