idnits 2.17.1 draft-ietf-idn-nameprep-05.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** Missing expiration date. The document expiration date should appear on the first and last page. ** The document seems to lack a 1id_guidelines paragraph about the list of current Internet-Drafts. ** The document seems to lack a 1id_guidelines paragraph about the list of Shadow Directories. ** The document is more than 15 pages and seems to lack a Table of Contents. == No 'Intended status' indicated for this document; assuming Proposed Standard == The page length should not exceed 58 lines per page, but there was 1 longer page, the longest (page 1) being 2592 lines Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an Authors' Addresses Section. ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. ** There are 2 instances of too long lines in the document, the longest one being 3 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The document seems to lack the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. (The document does seem to have the reference to RFC 2119 which the ID-Checklist requires). -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- Couldn't find a document date in the document -- date freshness check skipped. Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'CONTROL CHARACTERS' is mentioned on line 302, but not defined == Missing Reference: 'PRIVATE USE' is mentioned on line 312, but not defined == Missing Reference: 'PLANE 0' is mentioned on line 310, but not defined == Missing Reference: 'PLANE 15' is mentioned on line 311, but not defined == Missing Reference: 'PLANE 16' is mentioned on line 312, but not defined == Missing Reference: 'SURROGATE CODES' is mentioned on line 356, but not defined == Missing Reference: 'TAGGING CHARACTERS' is mentioned on line 409, but not defined == Missing Reference: 'IDNrev' is mentioned on line 428, but not defined == Unused Reference: 'IDNRev' is defined on line 595, but no explicit reference was found in the text == Unused Reference: 'Normalize' is defined on line 602, but no explicit reference was found in the text == Unused Reference: 'RFC2396' is defined on line 608, but no explicit reference was found in the text == Unused Reference: 'RFC2732' is defined on line 611, but no explicit reference was found in the text -- Possible downref: Non-RFC (?) normative reference: ref. 'CharModel' -- Possible downref: Non-RFC (?) normative reference: ref. 'Glossary' -- Possible downref: Normative reference to a draft: ref. 'IDNReq' -- Possible downref: Normative reference to a draft: ref. 'IDNRev' -- Possible downref: Non-RFC (?) normative reference: ref. 'ISO10646' == Outdated reference: A later version (-04) exists of draft-duerst-i18n-norm-03 -- Possible downref: Normative reference to a draft: ref. 'Normalize' ** Obsolete normative reference: RFC 2396 (Obsoleted by RFC 3986) ** Obsolete normative reference: RFC 2732 (Obsoleted by RFC 3986) -- Duplicate reference: RFC2732, mentioned in 'URI', was also mentioned in 'RFC2732'. ** Obsolete normative reference: RFC 2732 (ref. 'URI') (Obsoleted by RFC 3986) -- Possible downref: Non-RFC (?) normative reference: ref. 'UAX15' -- Possible downref: Non-RFC (?) normative reference: ref. 'UTR21' Summary: 11 errors (**), 0 flaws (~~), 16 warnings (==), 11 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 Internet Draft Paul Hoffman 2 draft-ietf-idn-nameprep-05.txt IMC & VPNC 3 July 19, 2001 Marc Blanchet 4 Expires in six months ViaGenie 6 Preparation of Internationalized Host Names 8 Status of this memo 10 This document is an Internet-Draft and is in full conformance with all 11 provisions of Section 10 of RFC2026. 13 Internet-Drafts are working documents of the Internet Engineering Task 14 Force (IETF), its areas, and its working groups. Note that other groups 15 may also distribute working documents as Internet-Drafts. 17 Internet-Drafts are draft documents valid for a maximum of six months 18 and may be updated, replaced, or obsoleted by other documents at any 19 time. It is inappropriate to use Internet-Drafts as reference material 20 or to cite them other than as "work in progress." 22 To view the list Internet-Draft Shadow Directories, see 23 http://www.ietf.org/shadow.html. 25 Abstract 27 This document describes how to prepare internationalized host names for 28 use in the DNS. The steps are: 29 - mapping characters to other characters, such as to change their case 30 - normalizing the characters 31 - excluding characters that are prohibited from appearing in 32 internationalized host names 33 This document does not specify a wire protocol. This preparation should 34 be done before the DNS request. 36 1. Introduction 38 When expanding today's DNS to include internationalized host names, 39 those new names will be handled in many parts of the DNS. The 40 Internationalized Domain Name (IDN) Working Group's requirements 41 document [IDNReq] describes a framework for domain name handling as well 42 as requirements for the new names. 44 A user can enter a domain name into an application program in a myriad 45 of fashions. Depending on the input method, the characters entered in 46 the domain name may or may not be those that are allowed in 47 internationalized host names. Thus, there must be a way to normalize 48 the user's input before the name is resolved in the DNS. 50 It is a design goal of this document to allow users to enter host names 51 in applications and have the highest chance of getting the name correct. 52 Another, often conflicting, design goal is to allow as wide of a range 53 of characters as possible in host names. The user should not be limited 54 to only entering exactly the characters that might have been used, but 55 to instead be able to enter characters that unambiguously normalize to 56 characters in the desired host name. Although it would be easy to use 57 the process in this step to "correct" perceived mis-features or bugs in 58 the current character standards, this document expressly does not do so. 59 A difference between a character standard and this specification does 60 not imply that the character standard is wrong, simply that the 61 character standard and this specification have different purposes. 63 This document describes the steps needed to convert a name part from one 64 that is entered by the user to one that can be used in the DNS. 66 Within a fully-qualified domain name, some labels may be 67 internationalized, while others are not. This specification should be 68 applied to all internationalized labels. An application must be able to 69 recognize which part is internationalized; the method for such 70 recognition is outside of the scope of this document. Note that this 71 specification is harmless to the non-internationalized labels: when the 72 steps described here are applied to non-internationalized labels, the 73 label will not change. 75 1.1 Terminology 77 The key words "MUST", "SHALL", "REQUIRED", "SHOULD", "RECOMMENDED", and 78 "MAY" in this document are to be interpreted as described in RFC 2119 79 [RFC2119]. 81 Examples in this document use the notation for code points and names 82 from the Unicode Standard [Unicode3.1] and ISO/IEC 10646 [ISO10646]. For 83 example, the letter "a" may be represented as either "U+0061" or "LATIN 84 SMALL LETTER A". In the lists of prohibited characters, the "U+" is left 85 off to make the lists easier to read. The comments for character ranges 86 are shown in square brackets (such as "[SYMBOLS]") and do not come from 87 the standards. 89 Note: A glossary of terms used in Unicode and ISO/IEC 10646 can be found 90 in [Glossary]. Information on the 10646/Unicode character encoding model 91 can be found in [CharModel]. 93 2. Preparation Overview 95 The steps for preparing names are: 97 1) Input from the application service interface -- This can be done in 98 many ways and is not specified in this document 100 2) Map -- For each character in the input, check if it has a mapping 101 and, if so, replace it with its mapping. The mappings are a combination 102 of folding uppercase characters to lowercase and mapping out characters. 103 This is described in Section 4. 105 3) Normalize -- Normalize the characters. This is described in Section 106 5. 108 4) Look for prohibited output -- Check for any characters that are not 109 allowed in the output. If any are found, return an error to the 110 application service interface. This is described in Section 6. 112 5) Resolution of the prepared name -- This must be specified in a 113 different IDN document. 115 The above steps MUST be performed in the order given to comply with this 116 specification. 118 The steps in this document have associated tables in the document. The 119 tables are derived from outside sources, and the derivation is briefly 120 described in the document. Although a great deal of effort has gone into 121 preparing the tables, there is a chance that the tables do not correctly 122 reflect the outside sources. Regardless of whether or not the tables 123 differ from the sources, implementations MUST use the tables in this 124 document for their processing. That is, if there is an error in the 125 tables, the tables must still be used. Future versions of this document 126 may include corrections and additions to the tables. 128 The mappings in section 3 can be one-to-none, one-to-one, or 129 one-to-many. That is, some characters may be eliminated or replaced by 130 more than one character, and the output of this step might be shorter or 131 longer than the input. The normalization in section 4 can be one-to-one 132 or many-to-one. Because of this, the system using nameprep MUST be 133 prepared to receive a longer or shorter string than the one input in the 134 nameprep algorithm. 136 3. Mapping 138 Each character in the input stream is checked against the mapping table. 139 The mapping table can be found in Appendix E of this document. That 140 table includes all the steps described in the subsections below. 142 Note that the subsections below describe how Appendix E was formed. 143 They are there for people who want to understand more, but they should 144 be ignored by implementors. Nameprep implementations MUST map based 145 on Appendix E, not based on the descriptions in this section of how 146 Appendix E was created. 148 Rationale: Characters that are not wanted in internationalized name 149 parts are either mapped to nothing in the mapping step, or cause an 150 error in the prohibition step. The general guideline used to pick 151 between the two outcomes was that removing alphabetic, non-protocol 152 characters be done in the mapping step, but all other characters cause 153 errors in the prohibition step. This allows for minor linguistic errors 154 on the part of an input mechanism to be caught in the mapping step, but 155 to not hide serious errors such as entering protocol characters or 156 invisible characters from the user. 158 3.1 Case mapping 160 The input string is case folded according to [UTR21]. For most 161 characters, this is the same as changing the input character to a 162 lowercase character. For some characters, however, more complex 163 transformations occur. The "CaseFolding.txt" file from the Unicode 164 database was used to prepare Appendix E. 166 Rationale: This could have been "change all lowercase characters 167 into uppercase characters". However, the upper-to-lower folding was 168 chosen because most users of the Internet today enter host names in 169 lowercase. 171 3.2 Additional folding mappings 173 There are some characters that do not have mappings in [UTR21] but still 174 need processing. These characters include a few Greek characters and 175 many symbols that contain Latin characters. The list of characters to 176 add to the mapping table were determined by the following algorithm: 178 b = NormalizeWithKC(Fold(a)); 179 c = NormalizeWithKC(Fold(b)); 180 if c is not the same as b, add a mapping for "a to c". 182 Because NormalizeWithKC(Fold(c)) always equals c, the table is stable 183 from that point on. The "DerivedNormalizationProperties.txt" file from 184 the Unicode database was used to prepare Appendix E. This mapping was 185 added to reduce the number of processing steps, that is, to avoid doing 186 case mapping and normalization twice. 188 3.3 Mapped out 190 The following characters are simply deleted from the input (that is, 191 they are mapped to nothing) because their presence or absence should not 192 make two domain names different. 194 Some characters are only useful in line-based text, and are otherwise 195 invisible and ignored. 197 00AD; SOFT HYPHEN 198 1806; MONGOLIAN TODO SOFT HYPHEN 199 200B; ZERO WIDTH SPACE 200 FEFF; ZERO WIDTH NO-BREAK SPACE 202 Variation selectors and cursive connectors select different glyphs, but 203 do not bear semantics. 205 180B; MONGOLIAN FREE VARIATION SELECTOR ONE 206 180C; MONGOLIAN FREE VARIATION SELECTOR TWO 207 180D; MONGOLIAN FREE VARIATION SELECTOR THREE 208 200C; ZERO WIDTH NON-JOINER 209 200D; ZERO WIDTH JOINER 211 4. Normalization 213 The output of the mapping step is normalized using form KC, as described 214 in [UAX15]. Using form KC instead of form C causes many characters that 215 are identical or near-identical to be converted into a single character. 216 Note that this specification refers to a specific version of [UAX15]. If 217 a later version of [UAX15] changes the algorithm used for normalization, 218 that later version MUST NOT be used with this specification. Note that 219 it is likely that this specification will be revised if UAX15 is 220 changed, but until that happens, systems compliant with this 221 specification MUST use only the specified version of [UAX15]. 223 5. Prohibited Output 225 Before the text can be emitted, it must be checked for prohibited code 226 points. There is a variety of prohibited code points, as described in 227 this section. 229 Note that the subsections below describe how Appendix F was formed. 230 They are there for people who want to understand more, but they should 231 be ignored by implementors. Nameprep implementations MUST map based 232 on Appendix F, not based on the descriptions in this section of how 233 Appendix F was created. 235 One of the goals of IDN is to allow the widest possible set of host 236 names as long as those host names do not cause other problems, such as 237 conflict with other standards. Specifically, experience with current DNS 238 names have shown that there is a desire for host names that include 239 personal names, company names, and spoken phrases. A goal of this 240 section is to prohibit as few characters that might be used in these 241 contexts as possible. 243 The collected list of prohibited code points can be found in Appendix F 244 of this document. The list in Appendix F MUST be used by implementations 245 of this specification. If there are any discrepancies between the list 246 in Appendix F and subsections below, the list in Appendix F always takes 247 precedence. 249 Some code points listed in one section would also appear in other 250 sections. Each code point is only listed once in the table in Appendix 251 F. 253 5.1 Currently-prohibited ASCII characters 255 Some of the ASCII characters that are currently prohibited in host names 256 by [STD13] are also used in protocol elements such as URIs [URI]. The other 257 characters in the range U+0000 to U+007F that are not currently allowed 258 are also prohibited in host name parts to reserve them for future use in 259 protocol elements. 261 0000-002C; [ASCII CONTROL CHARACTERS and SPACE through ,] 262 002E-002F; [ASCII . through /] 263 003A-0040; [ASCII : through @] 264 005B-0060; [ASCII [ through `] 265 007B-007F; [ASCII { through DEL] 267 5.2 Space characters 269 Space characters would make visual transcription of URLs nearly 270 impossible and could lead to user entry errors in many ways. 272 0020; SPACE 273 00A0; NO-BREAK SPACE 274 1680; OGHAM SPACE MARK 275 2000; EN QUAD 276 2001; EM QUAD 277 2002; EN SPACE 278 2003; EM SPACE 279 2004; THREE-PER-EM SPACE 280 2005; FOUR-PER-EM SPACE 281 2006; SIX-PER-EM SPACE 282 2007; FIGURE SPACE 283 2008; PUNCTUATION SPACE 284 2009; THIN SPACE 285 200A; HAIR SPACE 286 202F; NARROW NO-BREAK SPACE 287 3000; IDEOGRAPHIC SPACE 289 5.3 Control characters 291 Control characters (or characters with control function) cannot be seen 292 and can cause unpredictable results when displayed. 294 0000-001F; [CONTROL CHARACTERS] 295 007F; DELETE 296 0080-009F; [CONTROL CHARACTERS] 297 070F; SYRIAC ABBREVIATION MARK 298 180E; MONGOLIAN VOWEL SEPARATOR 299 2028; LINE SEPARATOR 300 2029; PARAGRAPH SEPARATOR 301 206A-206F; [CONTROL CHARACTERS] 302 FFF9-FFFC; [CONTROL CHARACTERS] 303 1D173-1D17A; [MUSICAL CONTROL CHARACTERS] 305 5.4 Private use and replacement characters 307 Because private-use characters do not have defined meanings, they are 308 prohibited. The private-use characters are: 310 E000-F8FF; [PRIVATE USE, PLANE 0] 311 F0000-FFFFD; [PRIVATE USE, PLANE 15] 312 100000-10FFFD; [PRIVATE USE, PLANE 16] 314 The replacement character (U+FFFD) has no known semantic definition in a 315 name, and is often displayed by renderers to indicate "there would be 316 some character here, but it cannot be rendered". For example, on a 317 computer with no Asian fonts, a name with three ideographs might be 318 rendered with three replacement characters. 320 FFFD; REPLACEMENT CHARACTER 322 5.5 Non-character code points 324 Non-character code points are code points that have been allocated in 325 ISO/IEC 10646 but are not characters. Because they are already assigned, 326 they are guaranteed not to later change into characters. 328 FDD0-FDEF; [NONCHARACTER CODE POINTS] 329 FFFE-FFFF; [NONCHARACTER CODE POINTS] 330 1FFFE-1FFFF; [NONCHARACTER CODE POINTS] 331 2FFFE-2FFFF; [NONCHARACTER CODE POINTS] 332 3FFFE-3FFFF; [NONCHARACTER CODE POINTS] 333 4FFFE-4FFFF; [NONCHARACTER CODE POINTS] 334 5FFFE-5FFFF; [NONCHARACTER CODE POINTS] 335 6FFFE-6FFFF; [NONCHARACTER CODE POINTS] 336 7FFFE-7FFFF; [NONCHARACTER CODE POINTS] 337 8FFFE-8FFFF; [NONCHARACTER CODE POINTS] 338 9FFFE-9FFFF; [NONCHARACTER CODE POINTS] 339 AFFFE-AFFFF; [NONCHARACTER CODE POINTS] 340 BFFFE-BFFFF; [NONCHARACTER CODE POINTS] 341 CFFFE-CFFFF; [NONCHARACTER CODE POINTS] 342 DFFFE-DFFFF; [NONCHARACTER CODE POINTS] 343 EFFFE-EFFFF; [NONCHARACTER CODE POINTS] 344 FFFFE-FFFFF; [NONCHARACTER CODE POINTS] 345 10FFFE-10FFFF; [NONCHARACTER CODE POINTS] 347 The non-character code points are listed the PropList.txt file from the 348 Unicode database. 350 5.6 Surrogate codes 352 The following code points are permanently reserved for use as surrogate 353 code values in the UTF-16 encoding, will never be assigned to 354 characters, and are therefore prohibited: 356 D800-DFFF; [SURROGATE CODES] 358 5.7 Inappropriate for plain text 360 The following characters should not appear in regular text. 362 FFF9; INTERLINEAR ANNOTATION ANCHOR 363 FFFA; INTERLINEAR ANNOTATION SEPARATOR 364 FFFB; INTERLINEAR ANNOTATION TERMINATOR 365 FFFC; OBJECT REPLACEMENT CHARACTER 367 5.8 Inappropriate for domain names 369 The ideographic description characters allow different sequences of 370 characters to be rendered the same way, which makes them inappropriate 371 for host names that must have a single canonical representation. 373 2FF0-2FFB; [IDEOGRAPHIC DESCRIPTION CHARACTERS] 375 5.9 Change display properties 377 The following characters, some of which are deprecated in ISO/IEC 10646, 378 can cause changes in display or the order in which characters appear 379 when rendered. 381 200E; LEFT-TO-RIGHT MARK 382 200F; RIGHT-TO-LEFT MARK 383 202A; LEFT-TO-RIGHT EMBEDDING 384 202B; RIGHT-TO-LEFT EMBEDDING 385 202C; POP DIRECTIONAL FORMATTING 386 202D; LEFT-TO-RIGHT OVERRIDE 387 202E; RIGHT-TO-LEFT OVERRIDE 388 206A; INHIBIT SYMMETRIC SWAPPING 389 206B; ACTIVATE SYMMETRIC SWAPPING 390 206C; INHIBIT ARABIC FORM SHAPING 391 206D; ACTIVATE ARABIC FORM SHAPING 392 206E; NATIONAL DIGIT SHAPES 393 206F; NOMINAL DIGIT SHAPES 395 5.10 Inappropriate characters from common input mechanisms 397 U+3002 is used as if it were U+002E in many input mechanisms, 398 particularly in Asia. This prohibition allows input mechanisms to safely 399 map U+3002 to U+002E before doing nameprep without worrying about 400 preventing users from accessing legitimate host name parts. 402 3002; IDEOGRAPHIC FULL STOP 404 5.11 Tagging characters 406 The following characters are used for tagging text and are invisible. 408 E0001; LANGUAGE TAG 409 E0020-E007F; [TAGGING CHARACTERS] 411 6. Unassigned Code Points 413 All code points not assigned in [Unicode3.1] are called "unassigned code 414 points". Authoritative name servers MUST NOT have internationalized name 415 parts that contain any unassigned code points. DNS requests MAY contain 416 name parts that contain unassigned code points. Note that this is the 417 only part of this document where the requirements for queries differs 418 from the requirements for names in DNS zones. 420 Note: For this section, Unicode 3.1 is the base repertoire of unassigned 421 code points. The reason Unicode 3.1 was chosen instead of a version of 422 ISO/IEC 10646 is that ISO/IEC 10646 is expected to be updated soon after 423 this document becomes an RFC. Unicode 3.1 has the exact repertoire that 424 is expected in the next version of ISO/IEC 10646, and is therefore used 425 here. 427 Using two different policies for where unassigned code points can appear 428 in the DNS prevents the need for versioning the IDN protocol [IDNrev]. 429 This is very useful since it makes the overall processing simpler and 430 does not impose a "protocol" to handle versioning. It is expected that 431 ISO/IEC 10646 will be updated fairly frequently; recently, it has 432 happened approximately once a year. Each time a new version of ISO/IEC 433 10646 appears, a new version of this document can be created. Some end 434 users will want to use the new code points as soon as they are defined. 436 The list of unassigned code points can be found in Appendix G of this 437 document. The list in Appendix G MUST be used by implementations of this 438 specification. If there are any discrepancies between the list in 439 Appendix G and the Unicode 3.1 specification, the list Appendix G 440 always takes precedence. 442 Due to the way that versioning is handled in this section, host names 443 that are embedded in structures that cannot be changed (such as the 444 signed parts of digital certificates) MUST NOT have internationalized 445 name parts that contain any unassigned code points. 447 6.1 Categories of code points 449 Each code point in ISO/IEC 10646 can be categorized by how it acts in the 450 process described in earlier sections of this document: 452 AO Code points that may be in the output 454 MN Code points that cannot be in the output because they are 455 never appear as output from mapping or normalization 457 D Code points that cannot be in the output because they are 458 disallowed in the prohibition step 460 U Unassigned code points 462 A subsequent version of this document that references a newer version of 463 ISO/IEC 10646 with new code points will inherently have some code points 464 move from category U to either D, MN, or AO. For backwards 465 compatibility, no future version of this document will move code points 466 from any other category. That is, no current AO, MN, or D code points 467 will ever change to a different category. 469 Authoritative name servers MUST NOT contain any name that has code 470 points outside of AO for the latest version of this document. That is, 471 they are forbidden to contain any IDN names containing code points from 472 the MN, D, or U categories. 474 Applications creating name queries MUST treat U code points as if they 475 were AO when preparing the name parts according to this document. Those 476 applications MAY optionally have a preprocessor that provide stricter 477 checks: treating unassigned code points in the input as errors, or 478 warning the user about the fact that the code point is unassigned in the 479 version of this document that the software is based on; such a choice is 480 a local matter for the software. 482 Non-authoritative DNS servers MAY reject queries that include name parts 483 containing code points that are in categories MN or D for the version of 484 this document that they implement, but MUST NOT reject queries that 485 include name parts only for the reason that those parts contain code 486 points from category U. 488 6.2 Reasons for difference between authoritative servers and requests 490 Different software using different versions of this document need to 491 interoperate with maximal compatibility. The scheme described in this 492 section (authoritative name servers MUST NOT use unassigned code points, 493 requests MAY include unassigned code points) allows that compatibility 494 without introducing any known security or interoperability issues. 496 The list below shows what happens if a request contains a code point 497 from category U that is allowed in a newer version of this document. The 498 request either resolves to the domain name that was intended, or 499 resolves to no domain at all. In this list, the request comes from an 500 application using version "oldVersion" of this document, the 501 authoritative name server is using version "newVersion" of this 502 document, and the code point X was in category U on oldVersion, and has 503 changed category to AO, MN, or D. There are 3 possible scenarios: 505 1. X is assigned to AO -- In newVersion, X is in category AO. Because 506 the application passed X through, it gets back correct data from the 507 authoritative name server. There is one exceptional case, where X is a 508 combining mark. 510 The order of combining marks is normalized, so if another combining mark 511 Y has a lower combining class than X then XY will be put in the 512 canonical order YX. (Unassigned code points are never reordered, so this 513 doesn't happen in oldVersion). If the request contains YX, the request 514 will get correct data from the authoritative name server. However, no 515 domain name can be registered with XY, so a request with XY will get a 516 "no such host" error. 518 2. X is assigned to MN -- In newVersion, X is normalized to code point 519 "nX" and therefore X is now put in category MN. This cannot exist in any 520 domain name, so any request containing X will get back a "no such host" 521 error. Note, however, if the request had contained the letter nX, it 522 would have gotten back correct data. 524 3. X is assigned to D -- In newVersion, X is in category D. This cannot 525 exist in any domain name, so any request containing X will get back a 526 "no such host" error. 528 In none of the cases does the request get data for a host name other 529 than the one it actually wanted. 531 The processing in this document is always stable. If a string S is the 532 result of processing on newVersion, then it will remain the same when 533 processed on oldVersion. 535 There is always a way for the application to get the correct data from 536 the authoritative name server. For example, suppose that was 537 unassigned in oldVersion, and that it is assigned in newVersion, but 538 case-folded to . As long as the application supplies strings 539 containing instead of , the correct data will be 540 returned. Because the processing is stable, a different application 541 running newVersion can pass a processed host name to the application 542 running oldVersion. It will only contain , and will return the 543 correct results from the authoritative name server. 545 6.3 Versions of applications and authoritative name servers 547 Another way to see that this versioning system works is to compare what 548 happens when an application uses a newer or older version of this 549 document. 551 Newer application -- Suppose that an application or intermediary DNS 552 server is using version newVersion and the authoritative name server is 553 using version oldVersion. This case is simple: there will be no names on 554 the server that cannot be accessed by the application because the 555 resolver uses a superset of the code points accepted by the server. 557 Newer server -- Suppose that an application or intermediary DNS server 558 is using oldVersion and the authoritative name server is using 559 newVersion. Because the application passed through any unassigned code 560 points, the user can access names on the server that use code points in 561 newVersion. No names on the site can have code points that are 562 unassigned in newVersion, since that is illegal. In this case, the 563 application has to enter the unassigned code points in the correct 564 order, and has to use unassigned code points that would make it through 565 both the mapping and the normalization steps. 567 7. Security Considerations 569 Much of the security of the Internet relies on the DNS. Thus, any change 570 to the characteristics of the DNS can change the security of much of the 571 Internet. 573 Host names are used by users to connect to Internet servers. The 574 security of the Internet would be compromised if a user entering a 575 single internationalized name could be connected to different servers 576 based on different interpretations of the internationalized host name. 578 Current applications may assume that the characters allowed in host 579 names will always be the same as they are in [STD13]. This document 580 vastly increases the number of characters available in host names. Every 581 program that uses "special" characters in conjunction with host names 582 may be vulnerable to attack based on the new characters allowed by this 583 specification. 585 8. References 587 [CharModel] Unicode Technical Report;17, Character Encoding Model. 588 . 590 [Glossary] Unicode Glossary, . 592 [IDNReq] Zita Wenzel and James Seng, "Requirements of Internationalized 593 Domain Names", draft-ietf-idn-requirements 595 [IDNRev] Marc Blanchet, "Handling versions of internationalized domain 596 names protocols", draft-ietf-idn-version 598 [ISO10646] ISO/IEC 10646-1:2000. International Standard -- Information 599 technology -- Universal Multiple-Octet Coded Character Set (UCS) -- Part 600 1: Architecture and Basic Multilingual Plane. 602 [Normalize] Character Normalization in IETF Protocols, 603 draft-duerst-i18n-norm-03 605 [RFC2119] Scott Bradner, "Key words for use in RFCs to Indicate 606 Requirement Levels", March 1997, RFC 2119. 608 [RFC2396] Tim Berners-Lee, et. al., "Uniform Resource Identifiers (URI): 609 Generic Syntax", August 1998, RFC 2396. 611 [RFC2732] Robert Hinden, et. al., Format for Literal IPv6 Addresses in 612 URL's, December 1999, RFC 2732. 614 [STD13] Paul Mockapetris, "Domain names - concepts and facilities" (RFC 615 1034) and "Domain names - implementation and specification" (RFC 1035, 616 STD 13, November 1987. 618 [Unicode3.1] The Unicode Standard, Version 3.1.0: The Unicode 619 Consortium. The Unicode Standard, Version 3.0. Reading, MA, 620 Addison-Wesley Developers Press, 2000. ISBN 0-201-61633-5, as amended 621 by: Unicode Standard Annex #27: Unicode 3.1 622 . 624 [URI] For example: Roy Fielding et al., "Uniform Resource Identifiers: 625 Generic Syntax", August 1998, RFC 2396; Robert Hinden et. al, "IPv6 626 Literal Addresses in URL's", December 1999, RFC 2732. Note that 627 there are many other RFCs that define additional URI schemes. 629 [UAX15] Mark Davis and Martin Duerst. Unicode Standard Annex #15: 630 Unicode Normalization Forms, Version 3.1.0. 631 633 [UTR21] Mark Davis. Case Mappings. Unicode Technical Report;21. 634 . 636 A. Acknowledgements 638 Many people from the IETF IDN Working Group and the Unicode Technical 639 Committee contributed ideas that went into the first draft of this 640 document. Mark Davis and Patrik Faltstrom were particularly helpful in 641 some of the ideas, such as the versioning description. 643 The IDN namprep design team made many useful changes to the first 644 draft. That team and its advisors include: 646 Asmus Freytag 647 Cathy Wissink 648 Francois Yergeau 649 James Seng 650 Marc Blanchet 651 Mark Davis 652 Martin Duerst 653 Patrik Faltstrom 654 Paul Hoffman 656 Additional significant improvements were proposed by: 658 Jonathan Rosenne 659 Kent Karlsson 660 Scott Hollenbeck 662 B. Differences Between -04 and -05 Drafts 664 Small editorial changes throughout. 666 1: Added sentence at end of third paragraph. 668 2: Took paragraph from section 3 and moved it to the end of section 2 669 with a few changes. 671 3.2: Added sentence at end of last paragraph. 673 4: Clarified last sentence. 675 5.1: Added detail to ASCII ranges. 677 5.3: Added "(or characters with control function)" 678 Added: 679 070F 680 180E 681 206A-206F 682 FFF9-FFFC 683 1D173-1D17A 684 Removed the "future" control characters. 686 5.5: Added note about properties list at the end of the section. 688 5.8: Narrowed the range to 2FF0-2FFB because that is all that is 689 currently assigned. 691 5.11: Changed the range to E0001 and E0020-E007F. 693 6.1: Clarified definition of MN. Clarified last paragraph. 695 6.2, step 3: Corrected first sentence to say "D" instead of "MN". 697 8: Fixed title of [CharModel]. Added sentence at the end of [URI]. 699 F: Updated the table from the changes in 5 above. 701 C. IANA Considerations 703 None. 705 D. Author Contact Information 707 Paul Hoffman 708 Internet Mail Consortium and VPN Consortium 709 127 Segre Place 710 Santa Cruz, CA 95060 USA 711 paul.hoffman@imc.org and paul.hoffman@vpnc.org 713 Marc Blanchet 714 Viagenie inc. 715 2875 boul. Laurier, bur. 300 716 Ste-Foy, Quebec, Canada, G1V 2M2 717 Marc.Blanchet@viagenie.qc.ca 719 E. Mapping Table 721 The following is the mapping table from Section 3. The table has three 722 columns: 723 - the character that is mapped from 724 - the zero or more characters that it is mapped to 725 - the reason for the mapping 726 The columns are separated by semicolons. Note that the second column may 727 be empty, or it may have one character, or it may have more than one 728 character, with each character separated by a space. 730 ----- Start Mapping Table ----- 731 0041; 0061; Case map 732 0042; 0062; Case map 733 0043; 0063; Case map 734 0044; 0064; Case map 735 0045; 0065; Case map 736 0046; 0066; Case map 737 0047; 0067; Case map 738 0048; 0068; Case map 739 0049; 0069; Case map 740 004A; 006A; Case map 741 004B; 006B; Case map 742 004C; 006C; Case map 743 004D; 006D; Case map 744 004E; 006E; Case map 745 004F; 006F; Case map 746 0050; 0070; Case map 747 0051; 0071; Case map 748 0052; 0072; Case map 749 0053; 0073; Case map 750 0054; 0074; Case map 751 0055; 0075; Case map 752 0056; 0076; Case map 753 0057; 0077; Case map 754 0058; 0078; Case map 755 0059; 0079; Case map 756 005A; 007A; Case map 757 00AD; ; Map out 758 00B5; 03BC; Case map 759 00C0; 00E0; Case map 760 00C1; 00E1; Case map 761 00C2; 00E2; Case map 762 00C3; 00E3; Case map 763 00C4; 00E4; Case map 764 00C5; 00E5; Case map 765 00C6; 00E6; Case map 766 00C7; 00E7; Case map 767 00C8; 00E8; Case map 768 00C9; 00E9; Case map 769 00CA; 00EA; Case map 770 00CB; 00EB; Case map 771 00CC; 00EC; Case map 772 00CD; 00ED; Case map 773 00CE; 00EE; Case map 774 00CF; 00EF; Case map 775 00D0; 00F0; Case map 776 00D1; 00F1; Case map 777 00D2; 00F2; Case map 778 00D3; 00F3; Case map 779 00D4; 00F4; Case map 780 00D5; 00F5; Case map 781 00D6; 00F6; Case map 782 00D8; 00F8; Case map 783 00D9; 00F9; Case map 784 00DA; 00FA; Case map 785 00DB; 00FB; Case map 786 00DC; 00FC; Case map 787 00DD; 00FD; Case map 788 00DE; 00FE; Case map 789 00DF; 0073 0073; Case map 790 0100; 0101; Case map 791 0102; 0103; Case map 792 0104; 0105; Case map 793 0106; 0107; Case map 794 0108; 0109; Case map 795 010A; 010B; Case map 796 010C; 010D; Case map 797 010E; 010F; Case map 798 0110; 0111; Case map 799 0112; 0113; Case map 800 0114; 0115; Case map 801 0116; 0117; Case map 802 0118; 0119; Case map 803 011A; 011B; Case map 804 011C; 011D; Case map 805 011E; 011F; Case map 806 0120; 0121; Case map 807 0122; 0123; Case map 808 0124; 0125; Case map 809 0126; 0127; Case map 810 0128; 0129; Case map 811 012A; 012B; Case map 812 012C; 012D; Case map 813 012E; 012F; Case map 814 0130; 0069; Case map 815 0131; 0069; Case map 816 0132; 0133; Case map 817 0134; 0135; Case map 818 0136; 0137; Case map 819 0139; 013A; Case map 820 013B; 013C; Case map 821 013D; 013E; Case map 822 013F; 0140; Case map 823 0141; 0142; Case map 824 0143; 0144; Case map 825 0145; 0146; Case map 826 0147; 0148; Case map 827 0149; 02BC 006E; Case map 828 014A; 014B; Case map 829 014C; 014D; Case map 830 014E; 014F; Case map 831 0150; 0151; Case map 832 0152; 0153; Case map 833 0154; 0155; Case map 834 0156; 0157; Case map 835 0158; 0159; Case map 836 015A; 015B; Case map 837 015C; 015D; Case map 838 015E; 015F; Case map 839 0160; 0161; Case map 840 0162; 0163; Case map 841 0164; 0165; Case map 842 0166; 0167; Case map 843 0168; 0169; Case map 844 016A; 016B; Case map 845 016C; 016D; Case map 846 016E; 016F; Case map 847 0170; 0171; Case map 848 0172; 0173; Case map 849 0174; 0175; Case map 850 0176; 0177; Case map 851 0178; 00FF; Case map 852 0179; 017A; Case map 853 017B; 017C; Case map 854 017D; 017E; Case map 855 017F; 0073; Case map 856 0181; 0253; Case map 857 0182; 0183; Case map 858 0184; 0185; Case map 859 0186; 0254; Case map 860 0187; 0188; Case map 861 0189; 0256; Case map 862 018A; 0257; Case map 863 018B; 018C; Case map 864 018E; 01DD; Case map 865 018F; 0259; Case map 866 0190; 025B; Case map 867 0191; 0192; Case map 868 0193; 0260; Case map 869 0194; 0263; Case map 870 0196; 0269; Case map 871 0197; 0268; Case map 872 0198; 0199; Case map 873 019C; 026F; Case map 874 019D; 0272; Case map 875 019F; 0275; Case map 876 01A0; 01A1; Case map 877 01A2; 01A3; Case map 878 01A4; 01A5; Case map 879 01A6; 0280; Case map 880 01A7; 01A8; Case map 881 01A9; 0283; Case map 882 01AC; 01AD; Case map 883 01AE; 0288; Case map 884 01AF; 01B0; Case map 885 01B1; 028A; Case map 886 01B2; 028B; Case map 887 01B3; 01B4; Case map 888 01B5; 01B6; Case map 889 01B7; 0292; Case map 890 01B8; 01B9; Case map 891 01BC; 01BD; Case map 892 01C4; 01C6; Case map 893 01C5; 01C6; Case map 894 01C7; 01C9; Case map 895 01C8; 01C9; Case map 896 01CA; 01CC; Case map 897 01CB; 01CC; Case map 898 01CD; 01CE; Case map 899 01CF; 01D0; Case map 900 01D1; 01D2; Case map 901 01D3; 01D4; Case map 902 01D5; 01D6; Case map 903 01D7; 01D8; Case map 904 01D9; 01DA; Case map 905 01DB; 01DC; Case map 906 01DE; 01DF; Case map 907 01E0; 01E1; Case map 908 01E2; 01E3; Case map 909 01E4; 01E5; Case map 910 01E6; 01E7; Case map 911 01E8; 01E9; Case map 912 01EA; 01EB; Case map 913 01EC; 01ED; Case map 914 01EE; 01EF; Case map 915 01F0; 006A 030C; Case map 916 01F1; 01F3; Case map 917 01F2; 01F3; Case map 918 01F4; 01F5; Case map 919 01F6; 0195; Case map 920 01F7; 01BF; Case map 921 01F8; 01F9; Case map 922 01FA; 01FB; Case map 923 01FC; 01FD; Case map 924 01FE; 01FF; Case map 925 0200; 0201; Case map 926 0202; 0203; Case map 927 0204; 0205; Case map 928 0206; 0207; Case map 929 0208; 0209; Case map 930 020A; 020B; Case map 931 020C; 020D; Case map 932 020E; 020F; Case map 933 0210; 0211; Case map 934 0212; 0213; Case map 935 0214; 0215; Case map 936 0216; 0217; Case map 937 0218; 0219; Case map 938 021A; 021B; Case map 939 021C; 021D; Case map 940 021E; 021F; Case map 941 0222; 0223; Case map 942 0224; 0225; Case map 943 0226; 0227; Case map 944 0228; 0229; Case map 945 022A; 022B; Case map 946 022C; 022D; Case map 947 022E; 022F; Case map 948 0230; 0231; Case map 949 0232; 0233; Case map 950 0345; 03B9; Case map 951 037A; 0020 03B9; Additional folding 952 0386; 03AC; Case map 953 0388; 03AD; Case map 954 0389; 03AE; Case map 955 038A; 03AF; Case map 956 038C; 03CC; Case map 957 038E; 03CD; Case map 958 038F; 03CE; Case map 959 0390; 03B9 0308 0301; Case map 960 0391; 03B1; Case map 961 0392; 03B2; Case map 962 0393; 03B3; Case map 963 0394; 03B4; Case map 964 0395; 03B5; Case map 965 0396; 03B6; Case map 966 0397; 03B7; Case map 967 0398; 03B8; Case map 968 0399; 03B9; Case map 969 039A; 03BA; Case map 970 039B; 03BB; Case map 971 039C; 03BC; Case map 972 039D; 03BD; Case map 973 039E; 03BE; Case map 974 039F; 03BF; Case map 975 03A0; 03C0; Case map 976 03A1; 03C1; Case map 977 03A3; 03C3; Case map 978 03A4; 03C4; Case map 979 03A5; 03C5; Case map 980 03A6; 03C6; Case map 981 03A7; 03C7; Case map 982 03A8; 03C8; Case map 983 03A9; 03C9; Case map 984 03AA; 03CA; Case map 985 03AB; 03CB; Case map 986 03B0; 03C5 0308 0301; Case map 987 03C2; 03C3; Case map 988 03D0; 03B2; Case map 989 03D1; 03B8; Case map 990 03D2; 03C5; Additional folding 991 03D3; 03CD; Additional folding 992 03D4; 03CB; Additional folding 993 03D5; 03C6; Case map 994 03D6; 03C0; Case map 995 03DA; 03DB; Case map 996 03DC; 03DD; Case map 997 03DE; 03DF; Case map 998 03E0; 03E1; Case map 999 03E2; 03E3; Case map 1000 03E4; 03E5; Case map 1001 03E6; 03E7; Case map 1002 03E8; 03E9; Case map 1003 03EA; 03EB; Case map 1004 03EC; 03ED; Case map 1005 03EE; 03EF; Case map 1006 03F0; 03BA; Case map 1007 03F1; 03C1; Case map 1008 03F2; 03C3; Case map 1009 03F4; 03B8; Case map 1010 03F5; 03B5; Case map 1011 0400; 0450; Case map 1012 0401; 0451; Case map 1013 0402; 0452; Case map 1014 0403; 0453; Case map 1015 0404; 0454; Case map 1016 0405; 0455; Case map 1017 0406; 0456; Case map 1018 0407; 0457; Case map 1019 0408; 0458; Case map 1020 0409; 0459; Case map 1021 040A; 045A; Case map 1022 040B; 045B; Case map 1023 040C; 045C; Case map 1024 040D; 045D; Case map 1025 040E; 045E; Case map 1026 040F; 045F; Case map 1027 0410; 0430; Case map 1028 0411; 0431; Case map 1029 0412; 0432; Case map 1030 0413; 0433; Case map 1031 0414; 0434; Case map 1032 0415; 0435; Case map 1033 0416; 0436; Case map 1034 0417; 0437; Case map 1035 0418; 0438; Case map 1036 0419; 0439; Case map 1037 041A; 043A; Case map 1038 041B; 043B; Case map 1039 041C; 043C; Case map 1040 041D; 043D; Case map 1041 041E; 043E; Case map 1042 041F; 043F; Case map 1043 0420; 0440; Case map 1044 0421; 0441; Case map 1045 0422; 0442; Case map 1046 0423; 0443; Case map 1047 0424; 0444; Case map 1048 0425; 0445; Case map 1049 0426; 0446; Case map 1050 0427; 0447; Case map 1051 0428; 0448; Case map 1052 0429; 0449; Case map 1053 042A; 044A; Case map 1054 042B; 044B; Case map 1055 042C; 044C; Case map 1056 042D; 044D; Case map 1057 042E; 044E; Case map 1058 042F; 044F; Case map 1059 0460; 0461; Case map 1060 0462; 0463; Case map 1061 0464; 0465; Case map 1062 0466; 0467; Case map 1063 0468; 0469; Case map 1064 046A; 046B; Case map 1065 046C; 046D; Case map 1066 046E; 046F; Case map 1067 0470; 0471; Case map 1068 0472; 0473; Case map 1069 0474; 0475; Case map 1070 0476; 0477; Case map 1071 0478; 0479; Case map 1072 047A; 047B; Case map 1073 047C; 047D; Case map 1074 047E; 047F; Case map 1075 0480; 0481; Case map 1076 048C; 048D; Case map 1077 048E; 048F; Case map 1078 0490; 0491; Case map 1079 0492; 0493; Case map 1080 0494; 0495; Case map 1081 0496; 0497; Case map 1082 0498; 0499; Case map 1083 049A; 049B; Case map 1084 049C; 049D; Case map 1085 049E; 049F; Case map 1086 04A0; 04A1; Case map 1087 04A2; 04A3; Case map 1088 04A4; 04A5; Case map 1089 04A6; 04A7; Case map 1090 04A8; 04A9; Case map 1091 04AA; 04AB; Case map 1092 04AC; 04AD; Case map 1093 04AE; 04AF; Case map 1094 04B0; 04B1; Case map 1095 04B2; 04B3; Case map 1096 04B4; 04B5; Case map 1097 04B6; 04B7; Case map 1098 04B8; 04B9; Case map 1099 04BA; 04BB; Case map 1100 04BC; 04BD; Case map 1101 04BE; 04BF; Case map 1102 04C1; 04C2; Case map 1103 04C3; 04C4; Case map 1104 04C7; 04C8; Case map 1105 04CB; 04CC; Case map 1106 04D0; 04D1; Case map 1107 04D2; 04D3; Case map 1108 04D4; 04D5; Case map 1109 04D6; 04D7; Case map 1110 04D8; 04D9; Case map 1111 04DA; 04DB; Case map 1112 04DC; 04DD; Case map 1113 04DE; 04DF; Case map 1114 04E0; 04E1; Case map 1115 04E2; 04E3; Case map 1116 04E4; 04E5; Case map 1117 04E6; 04E7; Case map 1118 04E8; 04E9; Case map 1119 04EA; 04EB; Case map 1120 04EC; 04ED; Case map 1121 04EE; 04EF; Case map 1122 04F0; 04F1; Case map 1123 04F2; 04F3; Case map 1124 04F4; 04F5; Case map 1125 04F8; 04F9; Case map 1126 0531; 0561; Case map 1127 0532; 0562; Case map 1128 0533; 0563; Case map 1129 0534; 0564; Case map 1130 0535; 0565; Case map 1131 0536; 0566; Case map 1132 0537; 0567; Case map 1133 0538; 0568; Case map 1134 0539; 0569; Case map 1135 053A; 056A; Case map 1136 053B; 056B; Case map 1137 053C; 056C; Case map 1138 053D; 056D; Case map 1139 053E; 056E; Case map 1140 053F; 056F; Case map 1141 0540; 0570; Case map 1142 0541; 0571; Case map 1143 0542; 0572; Case map 1144 0543; 0573; Case map 1145 0544; 0574; Case map 1146 0545; 0575; Case map 1147 0546; 0576; Case map 1148 0547; 0577; Case map 1149 0548; 0578; Case map 1150 0549; 0579; Case map 1151 054A; 057A; Case map 1152 054B; 057B; Case map 1153 054C; 057C; Case map 1154 054D; 057D; Case map 1155 054E; 057E; Case map 1156 054F; 057F; Case map 1157 0550; 0580; Case map 1158 0551; 0581; Case map 1159 0552; 0582; Case map 1160 0553; 0583; Case map 1161 0554; 0584; Case map 1162 0555; 0585; Case map 1163 0556; 0586; Case map 1164 0587; 0565 0582; Case map 1165 1806; ; Map out 1166 180B; ; Map out 1167 180C; ; Map out 1168 180D; ; Map out 1169 1E00; 1E01; Case map 1170 1E02; 1E03; Case map 1171 1E04; 1E05; Case map 1172 1E06; 1E07; Case map 1173 1E08; 1E09; Case map 1174 1E0A; 1E0B; Case map 1175 1E0C; 1E0D; Case map 1176 1E0E; 1E0F; Case map 1177 1E10; 1E11; Case map 1178 1E12; 1E13; Case map 1179 1E14; 1E15; Case map 1180 1E16; 1E17; Case map 1181 1E18; 1E19; Case map 1182 1E1A; 1E1B; Case map 1183 1E1C; 1E1D; Case map 1184 1E1E; 1E1F; Case map 1185 1E20; 1E21; Case map 1186 1E22; 1E23; Case map 1187 1E24; 1E25; Case map 1188 1E26; 1E27; Case map 1189 1E28; 1E29; Case map 1190 1E2A; 1E2B; Case map 1191 1E2C; 1E2D; Case map 1192 1E2E; 1E2F; Case map 1193 1E30; 1E31; Case map 1194 1E32; 1E33; Case map 1195 1E34; 1E35; Case map 1196 1E36; 1E37; Case map 1197 1E38; 1E39; Case map 1198 1E3A; 1E3B; Case map 1199 1E3C; 1E3D; Case map 1200 1E3E; 1E3F; Case map 1201 1E40; 1E41; Case map 1202 1E42; 1E43; Case map 1203 1E44; 1E45; Case map 1204 1E46; 1E47; Case map 1205 1E48; 1E49; Case map 1206 1E4A; 1E4B; Case map 1207 1E4C; 1E4D; Case map 1208 1E4E; 1E4F; Case map 1209 1E50; 1E51; Case map 1210 1E52; 1E53; Case map 1211 1E54; 1E55; Case map 1212 1E56; 1E57; Case map 1213 1E58; 1E59; Case map 1214 1E5A; 1E5B; Case map 1215 1E5C; 1E5D; Case map 1216 1E5E; 1E5F; Case map 1217 1E60; 1E61; Case map 1218 1E62; 1E63; Case map 1219 1E64; 1E65; Case map 1220 1E66; 1E67; Case map 1221 1E68; 1E69; Case map 1222 1E6A; 1E6B; Case map 1223 1E6C; 1E6D; Case map 1224 1E6E; 1E6F; Case map 1225 1E70; 1E71; Case map 1226 1E72; 1E73; Case map 1227 1E74; 1E75; Case map 1228 1E76; 1E77; Case map 1229 1E78; 1E79; Case map 1230 1E7A; 1E7B; Case map 1231 1E7C; 1E7D; Case map 1232 1E7E; 1E7F; Case map 1233 1E80; 1E81; Case map 1234 1E82; 1E83; Case map 1235 1E84; 1E85; Case map 1236 1E86; 1E87; Case map 1237 1E88; 1E89; Case map 1238 1E8A; 1E8B; Case map 1239 1E8C; 1E8D; Case map 1240 1E8E; 1E8F; Case map 1241 1E90; 1E91; Case map 1242 1E92; 1E93; Case map 1243 1E94; 1E95; Case map 1244 1E96; 0068 0331; Case map 1245 1E97; 0074 0308; Case map 1246 1E98; 0077 030A; Case map 1247 1E99; 0079 030A; Case map 1248 1E9A; 0061 02BE; Case map 1249 1E9B; 1E61; Case map 1250 1EA0; 1EA1; Case map 1251 1EA2; 1EA3; Case map 1252 1EA4; 1EA5; Case map 1253 1EA6; 1EA7; Case map 1254 1EA8; 1EA9; Case map 1255 1EAA; 1EAB; Case map 1256 1EAC; 1EAD; Case map 1257 1EAE; 1EAF; Case map 1258 1EB0; 1EB1; Case map 1259 1EB2; 1EB3; Case map 1260 1EB4; 1EB5; Case map 1261 1EB6; 1EB7; Case map 1262 1EB8; 1EB9; Case map 1263 1EBA; 1EBB; Case map 1264 1EBC; 1EBD; Case map 1265 1EBE; 1EBF; Case map 1266 1EC0; 1EC1; Case map 1267 1EC2; 1EC3; Case map 1268 1EC4; 1EC5; Case map 1269 1EC6; 1EC7; Case map 1270 1EC8; 1EC9; Case map 1271 1ECA; 1ECB; Case map 1272 1ECC; 1ECD; Case map 1273 1ECE; 1ECF; Case map 1274 1ED0; 1ED1; Case map 1275 1ED2; 1ED3; Case map 1276 1ED4; 1ED5; Case map 1277 1ED6; 1ED7; Case map 1278 1ED8; 1ED9; Case map 1279 1EDA; 1EDB; Case map 1280 1EDC; 1EDD; Case map 1281 1EDE; 1EDF; Case map 1282 1EE0; 1EE1; Case map 1283 1EE2; 1EE3; Case map 1284 1EE4; 1EE5; Case map 1285 1EE6; 1EE7; Case map 1286 1EE8; 1EE9; Case map 1287 1EEA; 1EEB; Case map 1288 1EEC; 1EED; Case map 1289 1EEE; 1EEF; Case map 1290 1EF0; 1EF1; Case map 1291 1EF2; 1EF3; Case map 1292 1EF4; 1EF5; Case map 1293 1EF6; 1EF7; Case map 1294 1EF8; 1EF9; Case map 1295 1F08; 1F00; Case map 1296 1F09; 1F01; Case map 1297 1F0A; 1F02; Case map 1298 1F0B; 1F03; Case map 1299 1F0C; 1F04; Case map 1300 1F0D; 1F05; Case map 1301 1F0E; 1F06; Case map 1302 1F0F; 1F07; Case map 1303 1F18; 1F10; Case map 1304 1F19; 1F11; Case map 1305 1F1A; 1F12; Case map 1306 1F1B; 1F13; Case map 1307 1F1C; 1F14; Case map 1308 1F1D; 1F15; Case map 1309 1F28; 1F20; Case map 1310 1F29; 1F21; Case map 1311 1F2A; 1F22; Case map 1312 1F2B; 1F23; Case map 1313 1F2C; 1F24; Case map 1314 1F2D; 1F25; Case map 1315 1F2E; 1F26; Case map 1316 1F2F; 1F27; Case map 1317 1F38; 1F30; Case map 1318 1F39; 1F31; Case map 1319 1F3A; 1F32; Case map 1320 1F3B; 1F33; Case map 1321 1F3C; 1F34; Case map 1322 1F3D; 1F35; Case map 1323 1F3E; 1F36; Case map 1324 1F3F; 1F37; Case map 1325 1F48; 1F40; Case map 1326 1F49; 1F41; Case map 1327 1F4A; 1F42; Case map 1328 1F4B; 1F43; Case map 1329 1F4C; 1F44; Case map 1330 1F4D; 1F45; Case map 1331 1F50; 03C5 0313; Case map 1332 1F52; 03C5 0313 0300; Case map 1333 1F54; 03C5 0313 0301; Case map 1334 1F56; 03C5 0313 0342; Case map 1335 1F59; 1F51; Case map 1336 1F5B; 1F53; Case map 1337 1F5D; 1F55; Case map 1338 1F5F; 1F57; Case map 1339 1F68; 1F60; Case map 1340 1F69; 1F61; Case map 1341 1F6A; 1F62; Case map 1342 1F6B; 1F63; Case map 1343 1F6C; 1F64; Case map 1344 1F6D; 1F65; Case map 1345 1F6E; 1F66; Case map 1346 1F6F; 1F67; Case map 1347 1F80; 1F00 03B9; Case map 1348 1F81; 1F01 03B9; Case map 1349 1F82; 1F02 03B9; Case map 1350 1F83; 1F03 03B9; Case map 1351 1F84; 1F04 03B9; Case map 1352 1F85; 1F05 03B9; Case map 1353 1F86; 1F06 03B9; Case map 1354 1F87; 1F07 03B9; Case map 1355 1F88; 1F00 03B9; Case map 1356 1F89; 1F01 03B9; Case map 1357 1F8A; 1F02 03B9; Case map 1358 1F8B; 1F03 03B9; Case map 1359 1F8C; 1F04 03B9; Case map 1360 1F8D; 1F05 03B9; Case map 1361 1F8E; 1F06 03B9; Case map 1362 1F8F; 1F07 03B9; Case map 1363 1F90; 1F20 03B9; Case map 1364 1F91; 1F21 03B9; Case map 1365 1F92; 1F22 03B9; Case map 1366 1F93; 1F23 03B9; Case map 1367 1F94; 1F24 03B9; Case map 1368 1F95; 1F25 03B9; Case map 1369 1F96; 1F26 03B9; Case map 1370 1F97; 1F27 03B9; Case map 1371 1F98; 1F20 03B9; Case map 1372 1F99; 1F21 03B9; Case map 1373 1F9A; 1F22 03B9; Case map 1374 1F9B; 1F23 03B9; Case map 1375 1F9C; 1F24 03B9; Case map 1376 1F9D; 1F25 03B9; Case map 1377 1F9E; 1F26 03B9; Case map 1378 1F9F; 1F27 03B9; Case map 1379 1FA0; 1F60 03B9; Case map 1380 1FA1; 1F61 03B9; Case map 1381 1FA2; 1F62 03B9; Case map 1382 1FA3; 1F63 03B9; Case map 1383 1FA4; 1F64 03B9; Case map 1384 1FA5; 1F65 03B9; Case map 1385 1FA6; 1F66 03B9; Case map 1386 1FA7; 1F67 03B9; Case map 1387 1FA8; 1F60 03B9; Case map 1388 1FA9; 1F61 03B9; Case map 1389 1FAA; 1F62 03B9; Case map 1390 1FAB; 1F63 03B9; Case map 1391 1FAC; 1F64 03B9; Case map 1392 1FAD; 1F65 03B9; Case map 1393 1FAE; 1F66 03B9; Case map 1394 1FAF; 1F67 03B9; Case map 1395 1FB2; 1F70 03B9; Case map 1396 1FB3; 03B1 03B9; Case map 1397 1FB4; 03AC 03B9; Case map 1398 1FB6; 03B1 0342; Case map 1399 1FB7; 03B1 0342 03B9; Case map 1400 1FB8; 1FB0; Case map 1401 1FB9; 1FB1; Case map 1402 1FBA; 1F70; Case map 1403 1FBB; 1F71; Case map 1404 1FBC; 03B1 03B9; Case map 1405 1FBE; 03B9; Case map 1406 1FC2; 1F74 03B9; Case map 1407 1FC3; 03B7 03B9; Case map 1408 1FC4; 03AE 03B9; Case map 1409 1FC6; 03B7 0342; Case map 1410 1FC7; 03B7 0342 03B9; Case map 1411 1FC8; 1F72; Case map 1412 1FC9; 1F73; Case map 1413 1FCA; 1F74; Case map 1414 1FCB; 1F75; Case map 1415 1FCC; 03B7 03B9; Case map 1416 1FD2; 03B9 0308 0300; Case map 1417 1FD3; 03B9 0308 0301; Case map 1418 1FD6; 03B9 0342; Case map 1419 1FD7; 03B9 0308 0342; Case map 1420 1FD8; 1FD0; Case map 1421 1FD9; 1FD1; Case map 1422 1FDA; 1F76; Case map 1423 1FDB; 1F77; Case map 1424 1FE2; 03C5 0308 0300; Case map 1425 1FE3; 03C5 0308 0301; Case map 1426 1FE4; 03C1 0313; Case map 1427 1FE6; 03C5 0342; Case map 1428 1FE7; 03C5 0308 0342; Case map 1429 1FE8; 1FE0; Case map 1430 1FE9; 1FE1; Case map 1431 1FEA; 1F7A; Case map 1432 1FEB; 1F7B; Case map 1433 1FEC; 1FE5; Case map 1434 1FF2; 1F7C 03B9; Case map 1435 1FF3; 03C9 03B9; Case map 1436 1FF4; 03CE 03B9; Case map 1437 1FF6; 03C9 0342; Case map 1438 1FF7; 03C9 0342 03B9; Case map 1439 1FF8; 1F78; Case map 1440 1FF9; 1F79; Case map 1441 1FFA; 1F7C; Case map 1442 1FFB; 1F7D; Case map 1443 1FFC; 03C9 03B9; Case map 1444 200B; ; Map out 1445 200C; ; Map out 1446 200D; ; Map out 1447 20A8; 0072 0073; Additional folding 1448 2102; 0063; Additional folding 1449 2103; 00B0 0063; Additional folding 1450 2107; 025B; Additional folding 1451 2109; 00B0 0066; Additional folding 1452 210B; 0068; Additional folding 1453 210C; 0068; Additional folding 1454 210D; 0068; Additional folding 1455 2110; 0069; Additional folding 1456 2111; 0069; Additional folding 1457 2112; 006C; Additional folding 1458 2115; 006E; Additional folding 1459 2116; 006E 006F; Additional folding 1460 2119; 0070; Additional folding 1461 211A; 0071; Additional folding 1462 211B; 0072; Additional folding 1463 211C; 0072; Additional folding 1464 211D; 0072; Additional folding 1465 2120; 0073 006D; Additional folding 1466 2121; 0074 0065 006C; Additional folding 1467 2122; 0074 006D; Additional folding 1468 2124; 007A; Additional folding 1469 2126; 03C9; Case map 1470 2128; 007A; Additional folding 1471 212A; 006B; Case map 1472 212B; 00E5; Case map 1473 212C; 0062; Additional folding 1474 212D; 0063; Additional folding 1475 2130; 0065; Additional folding 1476 2131; 0066; Additional folding 1477 2133; 006D; Additional folding 1478 2160; 2170; Case map 1479 2161; 2171; Case map 1480 2162; 2172; Case map 1481 2163; 2173; Case map 1482 2164; 2174; Case map 1483 2165; 2175; Case map 1484 2166; 2176; Case map 1485 2167; 2177; Case map 1486 2168; 2178; Case map 1487 2169; 2179; Case map 1488 216A; 217A; Case map 1489 216B; 217B; Case map 1490 216C; 217C; Case map 1491 216D; 217D; Case map 1492 216E; 217E; Case map 1493 216F; 217F; Case map 1494 24B6; 24D0; Case map 1495 24B7; 24D1; Case map 1496 24B8; 24D2; Case map 1497 24B9; 24D3; Case map 1498 24BA; 24D4; Case map 1499 24BB; 24D5; Case map 1500 24BC; 24D6; Case map 1501 24BD; 24D7; Case map 1502 24BE; 24D8; Case map 1503 24BF; 24D9; Case map 1504 24C0; 24DA; Case map 1505 24C1; 24DB; Case map 1506 24C2; 24DC; Case map 1507 24C3; 24DD; Case map 1508 24C4; 24DE; Case map 1509 24C5; 24DF; Case map 1510 24C6; 24E0; Case map 1511 24C7; 24E1; Case map 1512 24C8; 24E2; Case map 1513 24C9; 24E3; Case map 1514 24CA; 24E4; Case map 1515 24CB; 24E5; Case map 1516 24CC; 24E6; Case map 1517 24CD; 24E7; Case map 1518 24CE; 24E8; Case map 1519 24CF; 24E9; Case map 1520 3371; 0068 0070 0061; Additional folding 1521 3373; 0061 0075; Additional folding 1522 3375; 006F 0076; Additional folding 1523 3380; 0070 0061; Additional folding 1524 3381; 006E 0061; Additional folding 1525 3382; 03BC 0061; Additional folding 1526 3383; 006D 0061; Additional folding 1527 3384; 006B 0061; Additional folding 1528 3385; 006B 0062; Additional folding 1529 3386; 006D 0062; Additional folding 1530 3387; 0067 0062; Additional folding 1531 338A; 0070 0066; Additional folding 1532 338B; 006E 0066; Additional folding 1533 338C; 03BC 0066; Additional folding 1534 3390; 0068 007A; Additional folding 1535 3391; 006B 0068 007A; Additional folding 1536 3392; 006D 0068 007A; Additional folding 1537 3393; 0067 0068 007A; Additional folding 1538 3394; 0074 0068 007A; Additional folding 1539 33A9; 0070 0061; Additional folding 1540 33AA; 006B 0070 0061; Additional folding 1541 33AB; 006D 0070 0061; Additional folding 1542 33AC; 0067 0070 0061; Additional folding 1543 33B4; 0070 0076; Additional folding 1544 33B5; 006E 0076; Additional folding 1545 33B6; 03BC 0076; Additional folding 1546 33B7; 006D 0076; Additional folding 1547 33B8; 006B 0076; Additional folding 1548 33B9; 006D 0076; Additional folding 1549 33BA; 0070 0077; Additional folding 1550 33BB; 006E 0077; Additional folding 1551 33BC; 03BC 0077; Additional folding 1552 33BD; 006D 0077; Additional folding 1553 33BE; 006B 0077; Additional folding 1554 33BF; 006D 0077; Additional folding 1555 33C0; 006B 03C9; Additional folding 1556 33C1; 006D 03C9; Additional folding 1557 33C3; 0062 0071; Additional folding 1558 33C6; 0063 2215 006B 0067; Additional folding 1559 33C7; 0063 006F 002E; Additional folding 1560 33C8; 0064 0062; Additional folding 1561 33C9; 0067 0079; Additional folding 1562 33CB; 0068 0070; Additional folding 1563 33CD; 006B 006B; Additional folding 1564 33CE; 006B 006D; Additional folding 1565 33D7; 0070 0068; Additional folding 1566 33D9; 0070 0070 006D; Additional folding 1567 33DA; 0070 0072; Additional folding 1568 33DC; 0073 0076; Additional folding 1569 33DD; 0077 0062; Additional folding 1570 FB00; 0066 0066; Case map 1571 FB01; 0066 0069; Case map 1572 FB02; 0066 006C; Case map 1573 FB03; 0066 0066 0069; Case map 1574 FB04; 0066 0066 006C; Case map 1575 FB05; 0073 0074; Case map 1576 FB06; 0073 0074; Case map 1577 FB13; 0574 0576; Case map 1578 FB14; 0574 0565; Case map 1579 FB15; 0574 056B; Case map 1580 FB16; 057E 0576; Case map 1581 FB17; 0574 056D; Case map 1582 FEFF; ; Map out 1583 FF21; FF41; Case map 1584 FF22; FF42; Case map 1585 FF23; FF43; Case map 1586 FF24; FF44; Case map 1587 FF25; FF45; Case map 1588 FF26; FF46; Case map 1589 FF27; FF47; Case map 1590 FF28; FF48; Case map 1591 FF29; FF49; Case map 1592 FF2A; FF4A; Case map 1593 FF2B; FF4B; Case map 1594 FF2C; FF4C; Case map 1595 FF2D; FF4D; Case map 1596 FF2E; FF4E; Case map 1597 FF2F; FF4F; Case map 1598 FF30; FF50; Case map 1599 FF31; FF51; Case map 1600 FF32; FF52; Case map 1601 FF33; FF53; Case map 1602 FF34; FF54; Case map 1603 FF35; FF55; Case map 1604 FF36; FF56; Case map 1605 FF37; FF57; Case map 1606 FF38; FF58; Case map 1607 FF39; FF59; Case map 1608 FF3A; FF5A; Case map 1609 10400; 10428; Case map 1610 10401; 10429; Case map 1611 10402; 1042A; Case map 1612 10403; 1042B; Case map 1613 10404; 1042C; Case map 1614 10405; 1042D; Case map 1615 10406; 1042E; Case map 1616 10407; 1042F; Case map 1617 10408; 10430; Case map 1618 10409; 10431; Case map 1619 1040A; 10432; Case map 1620 1040B; 10433; Case map 1621 1040C; 10434; Case map 1622 1040D; 10435; Case map 1623 1040E; 10436; Case map 1624 1040F; 10437; Case map 1625 10410; 10438; Case map 1626 10411; 10439; Case map 1627 10412; 1043A; Case map 1628 10413; 1043B; Case map 1629 10414; 1043C; Case map 1630 10415; 1043D; Case map 1631 10416; 1043E; Case map 1632 10417; 1043F; Case map 1633 10418; 10440; Case map 1634 10419; 10441; Case map 1635 1041A; 10442; Case map 1636 1041B; 10443; Case map 1637 1041C; 10444; Case map 1638 1041D; 10445; Case map 1639 1041E; 10446; Case map 1640 1041F; 10447; Case map 1641 10420; 10448; Case map 1642 10421; 10449; Case map 1643 10422; 1044A; Case map 1644 10423; 1044B; Case map 1645 10424; 1044C; Case map 1646 10425; 1044D; Case map 1647 1D400; 0061; Additional folding 1648 1D401; 0062; Additional folding 1649 1D402; 0063; Additional folding 1650 1D403; 0064; Additional folding 1651 1D404; 0065; Additional folding 1652 1D405; 0066; Additional folding 1653 1D406; 0067; Additional folding 1654 1D407; 0068; Additional folding 1655 1D408; 0069; Additional folding 1656 1D409; 006A; Additional folding 1657 1D40A; 006B; Additional folding 1658 1D40B; 006C; Additional folding 1659 1D40C; 006D; Additional folding 1660 1D40D; 006E; Additional folding 1661 1D40E; 006F; Additional folding 1662 1D40F; 0070; Additional folding 1663 1D410; 0071; Additional folding 1664 1D411; 0072; Additional folding 1665 1D412; 0073; Additional folding 1666 1D413; 0074; Additional folding 1667 1D414; 0075; Additional folding 1668 1D415; 0076; Additional folding 1669 1D416; 0077; Additional folding 1670 1D417; 0078; Additional folding 1671 1D418; 0079; Additional folding 1672 1D419; 007A; Additional folding 1673 1D434; 0061; Additional folding 1674 1D435; 0062; Additional folding 1675 1D436; 0063; Additional folding 1676 1D437; 0064; Additional folding 1677 1D438; 0065; Additional folding 1678 1D439; 0066; Additional folding 1679 1D43A; 0067; Additional folding 1680 1D43B; 0068; Additional folding 1681 1D43C; 0069; Additional folding 1682 1D43D; 006A; Additional folding 1683 1D43E; 006B; Additional folding 1684 1D43F; 006C; Additional folding 1685 1D440; 006D; Additional folding 1686 1D441; 006E; Additional folding 1687 1D442; 006F; Additional folding 1688 1D443; 0070; Additional folding 1689 1D444; 0071; Additional folding 1690 1D445; 0072; Additional folding 1691 1D446; 0073; Additional folding 1692 1D447; 0074; Additional folding 1693 1D448; 0075; Additional folding 1694 1D449; 0076; Additional folding 1695 1D44A; 0077; Additional folding 1696 1D44B; 0078; Additional folding 1697 1D44C; 0079; Additional folding 1698 1D44D; 007A; Additional folding 1699 1D468; 0061; Additional folding 1700 1D469; 0062; Additional folding 1701 1D46A; 0063; Additional folding 1702 1D46B; 0064; Additional folding 1703 1D46C; 0065; Additional folding 1704 1D46D; 0066; Additional folding 1705 1D46E; 0067; Additional folding 1706 1D46F; 0068; Additional folding 1707 1D470; 0069; Additional folding 1708 1D471; 006A; Additional folding 1709 1D472; 006B; Additional folding 1710 1D473; 006C; Additional folding 1711 1D474; 006D; Additional folding 1712 1D475; 006E; Additional folding 1713 1D476; 006F; Additional folding 1714 1D477; 0070; Additional folding 1715 1D478; 0071; Additional folding 1716 1D479; 0072; Additional folding 1717 1D47A; 0073; Additional folding 1718 1D47B; 0074; Additional folding 1719 1D47C; 0075; Additional folding 1720 1D47D; 0076; Additional folding 1721 1D47E; 0077; Additional folding 1722 1D47F; 0078; Additional folding 1723 1D480; 0079; Additional folding 1724 1D481; 007A; Additional folding 1725 1D49C; 0061; Additional folding 1726 1D49E; 0063; Additional folding 1727 1D49F; 0064; Additional folding 1728 1D4A2; 0067; Additional folding 1729 1D4A5; 006A; Additional folding 1730 1D4A6; 006B; Additional folding 1731 1D4A9; 006E; Additional folding 1732 1D4AA; 006F; Additional folding 1733 1D4AB; 0070; Additional folding 1734 1D4AC; 0071; Additional folding 1735 1D4AE; 0073; Additional folding 1736 1D4AF; 0074; Additional folding 1737 1D4B0; 0075; Additional folding 1738 1D4B1; 0076; Additional folding 1739 1D4B2; 0077; Additional folding 1740 1D4B3; 0078; Additional folding 1741 1D4B4; 0079; Additional folding 1742 1D4B5; 007A; Additional folding 1743 1D4D0; 0061; Additional folding 1744 1D4D1; 0062; Additional folding 1745 1D4D2; 0063; Additional folding 1746 1D4D3; 0064; Additional folding 1747 1D4D4; 0065; Additional folding 1748 1D4D5; 0066; Additional folding 1749 1D4D6; 0067; Additional folding 1750 1D4D7; 0068; Additional folding 1751 1D4D8; 0069; Additional folding 1752 1D4D9; 006A; Additional folding 1753 1D4DA; 006B; Additional folding 1754 1D4DB; 006C; Additional folding 1755 1D4DC; 006D; Additional folding 1756 1D4DD; 006E; Additional folding 1757 1D4DE; 006F; Additional folding 1758 1D4DF; 0070; Additional folding 1759 1D4E0; 0071; Additional folding 1760 1D4E1; 0072; Additional folding 1761 1D4E2; 0073; Additional folding 1762 1D4E3; 0074; Additional folding 1763 1D4E4; 0075; Additional folding 1764 1D4E5; 0076; Additional folding 1765 1D4E6; 0077; Additional folding 1766 1D4E7; 0078; Additional folding 1767 1D4E8; 0079; Additional folding 1768 1D4E9; 007A; Additional folding 1769 1D504; 0061; Additional folding 1770 1D505; 0062; Additional folding 1771 1D507; 0064; Additional folding 1772 1D508; 0065; Additional folding 1773 1D509; 0066; Additional folding 1774 1D50A; 0067; Additional folding 1775 1D50D; 006A; Additional folding 1776 1D50E; 006B; Additional folding 1777 1D50F; 006C; Additional folding 1778 1D510; 006D; Additional folding 1779 1D511; 006E; Additional folding 1780 1D512; 006F; Additional folding 1781 1D513; 0070; Additional folding 1782 1D514; 0071; Additional folding 1783 1D516; 0073; Additional folding 1784 1D517; 0074; Additional folding 1785 1D518; 0075; Additional folding 1786 1D519; 0076; Additional folding 1787 1D51A; 0077; Additional folding 1788 1D51B; 0078; Additional folding 1789 1D51C; 0079; Additional folding 1790 1D538; 0061; Additional folding 1791 1D539; 0062; Additional folding 1792 1D53B; 0064; Additional folding 1793 1D53C; 0065; Additional folding 1794 1D53D; 0066; Additional folding 1795 1D53E; 0067; Additional folding 1796 1D540; 0069; Additional folding 1797 1D541; 006A; Additional folding 1798 1D542; 006B; Additional folding 1799 1D543; 006C; Additional folding 1800 1D544; 006D; Additional folding 1801 1D546; 006F; Additional folding 1802 1D54A; 0073; Additional folding 1803 1D54B; 0074; Additional folding 1804 1D54C; 0075; Additional folding 1805 1D54D; 0076; Additional folding 1806 1D54E; 0077; Additional folding 1807 1D54F; 0078; Additional folding 1808 1D550; 0079; Additional folding 1809 1D56C; 0061; Additional folding 1810 1D56D; 0062; Additional folding 1811 1D56E; 0063; Additional folding 1812 1D56F; 0064; Additional folding 1813 1D570; 0065; Additional folding 1814 1D571; 0066; Additional folding 1815 1D572; 0067; Additional folding 1816 1D573; 0068; Additional folding 1817 1D574; 0069; Additional folding 1818 1D575; 006A; Additional folding 1819 1D576; 006B; Additional folding 1820 1D577; 006C; Additional folding 1821 1D578; 006D; Additional folding 1822 1D579; 006E; Additional folding 1823 1D57A; 006F; Additional folding 1824 1D57B; 0070; Additional folding 1825 1D57C; 0071; Additional folding 1826 1D57D; 0072; Additional folding 1827 1D57E; 0073; Additional folding 1828 1D57F; 0074; Additional folding 1829 1D580; 0075; Additional folding 1830 1D581; 0076; Additional folding 1831 1D582; 0077; Additional folding 1832 1D583; 0078; Additional folding 1833 1D584; 0079; Additional folding 1834 1D585; 007A; Additional folding 1835 1D5A0; 0061; Additional folding 1836 1D5A1; 0062; Additional folding 1837 1D5A2; 0063; Additional folding 1838 1D5A3; 0064; Additional folding 1839 1D5A4; 0065; Additional folding 1840 1D5A5; 0066; Additional folding 1841 1D5A6; 0067; Additional folding 1842 1D5A7; 0068; Additional folding 1843 1D5A8; 0069; Additional folding 1844 1D5A9; 006A; Additional folding 1845 1D5AA; 006B; Additional folding 1846 1D5AB; 006C; Additional folding 1847 1D5AC; 006D; Additional folding 1848 1D5AD; 006E; Additional folding 1849 1D5AE; 006F; Additional folding 1850 1D5AF; 0070; Additional folding 1851 1D5B0; 0071; Additional folding 1852 1D5B1; 0072; Additional folding 1853 1D5B2; 0073; Additional folding 1854 1D5B3; 0074; Additional folding 1855 1D5B4; 0075; Additional folding 1856 1D5B5; 0076; Additional folding 1857 1D5B6; 0077; Additional folding 1858 1D5B7; 0078; Additional folding 1859 1D5B8; 0079; Additional folding 1860 1D5B9; 007A; Additional folding 1861 1D5D4; 0061; Additional folding 1862 1D5D5; 0062; Additional folding 1863 1D5D6; 0063; Additional folding 1864 1D5D7; 0064; Additional folding 1865 1D5D8; 0065; Additional folding 1866 1D5D9; 0066; Additional folding 1867 1D5DA; 0067; Additional folding 1868 1D5DB; 0068; Additional folding 1869 1D5DC; 0069; Additional folding 1870 1D5DD; 006A; Additional folding 1871 1D5DE; 006B; Additional folding 1872 1D5DF; 006C; Additional folding 1873 1D5E0; 006D; Additional folding 1874 1D5E1; 006E; Additional folding 1875 1D5E2; 006F; Additional folding 1876 1D5E3; 0070; Additional folding 1877 1D5E4; 0071; Additional folding 1878 1D5E5; 0072; Additional folding 1879 1D5E6; 0073; Additional folding 1880 1D5E7; 0074; Additional folding 1881 1D5E8; 0075; Additional folding 1882 1D5E9; 0076; Additional folding 1883 1D5EA; 0077; Additional folding 1884 1D5EB; 0078; Additional folding 1885 1D5EC; 0079; Additional folding 1886 1D5ED; 007A; Additional folding 1887 1D608; 0061; Additional folding 1888 1D609; 0062; Additional folding 1889 1D60A; 0063; Additional folding 1890 1D60B; 0064; Additional folding 1891 1D60C; 0065; Additional folding 1892 1D60D; 0066; Additional folding 1893 1D60E; 0067; Additional folding 1894 1D60F; 0068; Additional folding 1895 1D610; 0069; Additional folding 1896 1D611; 006A; Additional folding 1897 1D612; 006B; Additional folding 1898 1D613; 006C; Additional folding 1899 1D614; 006D; Additional folding 1900 1D615; 006E; Additional folding 1901 1D616; 006F; Additional folding 1902 1D617; 0070; Additional folding 1903 1D618; 0071; Additional folding 1904 1D619; 0072; Additional folding 1905 1D61A; 0073; Additional folding 1906 1D61B; 0074; Additional folding 1907 1D61C; 0075; Additional folding 1908 1D61D; 0076; Additional folding 1909 1D61E; 0077; Additional folding 1910 1D61F; 0078; Additional folding 1911 1D620; 0079; Additional folding 1912 1D621; 007A; Additional folding 1913 1D63C; 0061; Additional folding 1914 1D63D; 0062; Additional folding 1915 1D63E; 0063; Additional folding 1916 1D63F; 0064; Additional folding 1917 1D640; 0065; Additional folding 1918 1D641; 0066; Additional folding 1919 1D642; 0067; Additional folding 1920 1D643; 0068; Additional folding 1921 1D644; 0069; Additional folding 1922 1D645; 006A; Additional folding 1923 1D646; 006B; Additional folding 1924 1D647; 006C; Additional folding 1925 1D648; 006D; Additional folding 1926 1D649; 006E; Additional folding 1927 1D64A; 006F; Additional folding 1928 1D64B; 0070; Additional folding 1929 1D64C; 0071; Additional folding 1930 1D64D; 0072; Additional folding 1931 1D64E; 0073; Additional folding 1932 1D64F; 0074; Additional folding 1933 1D650; 0075; Additional folding 1934 1D651; 0076; Additional folding 1935 1D652; 0077; Additional folding 1936 1D653; 0078; Additional folding 1937 1D654; 0079; Additional folding 1938 1D655; 007A; Additional folding 1939 1D670; 0061; Additional folding 1940 1D671; 0062; Additional folding 1941 1D672; 0063; Additional folding 1942 1D673; 0064; Additional folding 1943 1D674; 0065; Additional folding 1944 1D675; 0066; Additional folding 1945 1D676; 0067; Additional folding 1946 1D677; 0068; Additional folding 1947 1D678; 0069; Additional folding 1948 1D679; 006A; Additional folding 1949 1D67A; 006B; Additional folding 1950 1D67B; 006C; Additional folding 1951 1D67C; 006D; Additional folding 1952 1D67D; 006E; Additional folding 1953 1D67E; 006F; Additional folding 1954 1D67F; 0070; Additional folding 1955 1D680; 0071; Additional folding 1956 1D681; 0072; Additional folding 1957 1D682; 0073; Additional folding 1958 1D683; 0074; Additional folding 1959 1D684; 0075; Additional folding 1960 1D685; 0076; Additional folding 1961 1D686; 0077; Additional folding 1962 1D687; 0078; Additional folding 1963 1D688; 0079; Additional folding 1964 1D689; 007A; Additional folding 1965 1D6A8; 03B1; Additional folding 1966 1D6A9; 03B2; Additional folding 1967 1D6AA; 03B3; Additional folding 1968 1D6AB; 03B4; Additional folding 1969 1D6AC; 03B5; Additional folding 1970 1D6AD; 03B6; Additional folding 1971 1D6AE; 03B7; Additional folding 1972 1D6AF; 03B8; Additional folding 1973 1D6B0; 03B9; Additional folding 1974 1D6B1; 03BA; Additional folding 1975 1D6B2; 03BB; Additional folding 1976 1D6B3; 03BC; Additional folding 1977 1D6B4; 03BD; Additional folding 1978 1D6B5; 03BE; Additional folding 1979 1D6B6; 03BF; Additional folding 1980 1D6B7; 03C0; Additional folding 1981 1D6B8; 03C1; Additional folding 1982 1D6B9; 03B8; Additional folding 1983 1D6BA; 03C3; Additional folding 1984 1D6BB; 03C4; Additional folding 1985 1D6BC; 03C5; Additional folding 1986 1D6BD; 03C6; Additional folding 1987 1D6BE; 03C7; Additional folding 1988 1D6BF; 03C8; Additional folding 1989 1D6C0; 03C9; Additional folding 1990 1D6D3; 03C3; Additional folding 1991 1D6E2; 03B1; Additional folding 1992 1D6E3; 03B2; Additional folding 1993 1D6E4; 03B3; Additional folding 1994 1D6E5; 03B4; Additional folding 1995 1D6E6; 03B5; Additional folding 1996 1D6E7; 03B6; Additional folding 1997 1D6E8; 03B7; Additional folding 1998 1D6E9; 03B8; Additional folding 1999 1D6EA; 03B9; Additional folding 2000 1D6EB; 03BA; Additional folding 2001 1D6EC; 03BB; Additional folding 2002 1D6ED; 03BC; Additional folding 2003 1D6EE; 03BD; Additional folding 2004 1D6EF; 03BE; Additional folding 2005 1D6F0; 03BF; Additional folding 2006 1D6F1; 03C0; Additional folding 2007 1D6F2; 03C1; Additional folding 2008 1D6F3; 03B8; Additional folding 2009 1D6F4; 03C3; Additional folding 2010 1D6F5; 03C4; Additional folding 2011 1D6F6; 03C5; Additional folding 2012 1D6F7; 03C6; Additional folding 2013 1D6F8; 03C7; Additional folding 2014 1D6F9; 03C8; Additional folding 2015 1D6FA; 03C9; Additional folding 2016 1D70D; 03C3; Additional folding 2017 1D71C; 03B1; Additional folding 2018 1D71D; 03B2; Additional folding 2019 1D71E; 03B3; Additional folding 2020 1D71F; 03B4; Additional folding 2021 1D720; 03B5; Additional folding 2022 1D721; 03B6; Additional folding 2023 1D722; 03B7; Additional folding 2024 1D723; 03B8; Additional folding 2025 1D724; 03B9; Additional folding 2026 1D725; 03BA; Additional folding 2027 1D726; 03BB; Additional folding 2028 1D727; 03BC; Additional folding 2029 1D728; 03BD; Additional folding 2030 1D729; 03BE; Additional folding 2031 1D72A; 03BF; Additional folding 2032 1D72B; 03C0; Additional folding 2033 1D72C; 03C1; Additional folding 2034 1D72D; 03B8; Additional folding 2035 1D72E; 03C3; Additional folding 2036 1D72F; 03C4; Additional folding 2037 1D730; 03C5; Additional folding 2038 1D731; 03C6; Additional folding 2039 1D732; 03C7; Additional folding 2040 1D733; 03C8; Additional folding 2041 1D734; 03C9; Additional folding 2042 1D747; 03C3; Additional folding 2043 1D756; 03B1; Additional folding 2044 1D757; 03B2; Additional folding 2045 1D758; 03B3; Additional folding 2046 1D759; 03B4; Additional folding 2047 1D75A; 03B5; Additional folding 2048 1D75B; 03B6; Additional folding 2049 1D75C; 03B7; Additional folding 2050 1D75D; 03B8; Additional folding 2051 1D75E; 03B9; Additional folding 2052 1D75F; 03BA; Additional folding 2053 1D760; 03BB; Additional folding 2054 1D761; 03BC; Additional folding 2055 1D762; 03BD; Additional folding 2056 1D763; 03BE; Additional folding 2057 1D764; 03BF; Additional folding 2058 1D765; 03C0; Additional folding 2059 1D766; 03C1; Additional folding 2060 1D767; 03B8; Additional folding 2061 1D768; 03C3; Additional folding 2062 1D769; 03C4; Additional folding 2063 1D76A; 03C5; Additional folding 2064 1D76B; 03C6; Additional folding 2065 1D76C; 03C7; Additional folding 2066 1D76D; 03C8; Additional folding 2067 1D76E; 03C9; Additional folding 2068 1D781; 03C3; Additional folding 2069 1D790; 03B1; Additional folding 2070 1D791; 03B2; Additional folding 2071 1D792; 03B3; Additional folding 2072 1D793; 03B4; Additional folding 2073 1D794; 03B5; Additional folding 2074 1D795; 03B6; Additional folding 2075 1D796; 03B7; Additional folding 2076 1D797; 03B8; Additional folding 2077 1D798; 03B9; Additional folding 2078 1D799; 03BA; Additional folding 2079 1D79A; 03BB; Additional folding 2080 1D79B; 03BC; Additional folding 2081 1D79C; 03BD; Additional folding 2082 1D79D; 03BE; Additional folding 2083 1D79E; 03BF; Additional folding 2084 1D79F; 03C0; Additional folding 2085 1D7A0; 03C1; Additional folding 2086 1D7A1; 03B8; Additional folding 2087 1D7A2; 03C3; Additional folding 2088 1D7A3; 03C4; Additional folding 2089 1D7A4; 03C5; Additional folding 2090 1D7A5; 03C6; Additional folding 2091 1D7A6; 03C7; Additional folding 2092 1D7A7; 03C8; Additional folding 2093 1D7A8; 03C9; Additional folding 2094 1D7BB; 03C3; Additional folding 2095 ----- End Mapping Table ----- 2097 F. Prohibited Code Point List 2099 ----- Start Prohibited Table ----- 2100 0000-002C 2101 002E-002F 2102 003A-0040 2103 005B-0060 2104 007B-007F 2105 0080-009F 2106 00A0 2107 070F 2108 1680 2109 180E 2110 2000 2111 2001 2112 2002 2113 2003 2114 2004 2115 2005 2116 2006 2117 2007 2118 2008 2119 2009 2120 200A 2121 200E 2122 200F 2123 2028 2124 2029 2125 202A 2126 202B 2127 202C 2128 202D 2129 202E 2130 202F 2131 206A-206F 2132 2FF0-2FFB 2133 3000 2134 3002 2135 D800-DFFF 2136 E000-F8FF 2137 FDD0-FDEF 2138 FFF9-FFFC 2139 FFFD 2140 FFFE-FFFF 2141 1D173-1D17A 2142 1FFFE-1FFFF 2143 2FFFE-2FFFF 2144 3FFFE-3FFFF 2145 4FFFE-4FFFF 2146 5FFFE-5FFFF 2147 6FFFE-6FFFF 2148 7FFFE-7FFFF 2149 8FFFE-8FFFF 2150 9FFFE-9FFFF 2151 AFFFE-AFFFF 2152 BFFFE-BFFFF 2153 CFFFE-CFFFF 2154 DFFFE-DFFFF 2155 E0001 2156 E0020-E007F 2157 EFFFE-EFFFF 2158 F0000-FFFFD 2159 FFFFE-FFFFF 2160 100000-10FFFD 2161 10FFFE-10FFFF 2163 ----- End Prohibited Table ----- 2165 NOTE WELL: Software that follows this specification that will be used to 2166 check names before they are put in authoritative name servers MUST add 2167 all unassigned code pints to the list of characters that are prohibited. 2168 See Section 6 for more details. 2170 G. Unassigned Code Point List 2172 ----- Start Unassigned Table ----- 2173 0220-0221 2174 0234-024F 2175 02AE-02AF 2176 02EF-02FF 2177 034F-035F 2178 0363-0373 2179 0376-0379 2180 037B-037D 2181 037F-0383 2182 038B 2183 038D 2184 03A2 2185 03CF 2186 03D8-03D9 2187 03F6-03FF 2188 0487 2189 048A-048B 2190 04C5-04C6 2191 04C9-04CA 2192 04CD-04CF 2193 04F6-04F7 2194 04FA-0530 2195 0557-0558 2196 0560 2197 0588 2198 058B-0590 2199 05A2 2200 05BA 2201 05C5-05CF 2202 05EB-05EF 2203 05F5-060B 2204 060D-061A 2205 061C-061E 2206 0620 2207 063B-063F 2208 0656-065F 2209 066E-066F 2210 06EE-06EF 2211 06FF 2212 070E 2213 072D-072F 2214 074B-077F 2215 07B1-0900 2216 0904 2217 093A-093B 2218 094E-094F 2219 0955-0957 2220 0971-0980 2221 0984 2222 098D-098E 2223 0991-0992 2224 09A9 2225 09B1 2226 09B3-09B5 2227 09BA-09BB 2228 09BD 2229 09C5-09C6 2230 09C9-09CA 2231 09CE-09D6 2232 09D8-09DB 2233 09DE 2234 09E4-09E5 2235 09FB-0A01 2236 0A03-0A04 2237 0A0B-0A0E 2238 0A11-0A12 2239 0A29 2240 0A31 2241 0A34 2242 0A37 2243 0A3A-0A3B 2244 0A3D 2245 0A43-0A46 2246 0A49-0A4A 2247 0A4E-0A58 2248 0A5D 2249 0A5F-0A65 2250 0A75-0A80 2251 0A84 2252 0A8C 2253 0A8E 2254 0A92 2255 0AA9 2256 0AB1 2257 0AB4 2258 0ABA-0ABB 2259 0AC6 2260 0ACA 2261 0ACE-0ACF 2262 0AD1-0ADF 2263 0AE1-0AE5 2264 0AF0-0B00 2265 0B04 2266 0B0D-0B0E 2267 0B11-0B12 2268 0B29 2269 0B31 2270 0B34-0B35 2271 0B3A-0B3B 2272 0B44-0B46 2273 0B49-0B4A 2274 0B4E-0B55 2275 0B58-0B5B 2276 0B5E 2277 0B62-0B65 2278 0B71-0B81 2279 0B84 2280 0B8B-0B8D 2281 0B91 2282 0B96-0B98 2283 0B9B 2284 0B9D 2285 0BA0-0BA2 2286 0BA5-0BA7 2287 0BAB-0BAD 2288 0BB6 2289 0BBA-0BBD 2290 0BC3-0BC5 2291 0BC9 2292 0BCE-0BD6 2293 0BD8-0BE6 2294 0BF3-0C00 2295 0C04 2296 0C0D 2297 0C11 2298 0C29 2299 0C34 2300 0C3A-0C3D 2301 0C45 2302 0C49 2303 0C4E-0C54 2304 0C57-0C5F 2305 0C62-0C65 2306 0C70-0C81 2307 0C84 2308 0C8D 2309 0C91 2310 0CA9 2311 0CB4 2312 0CBA-0CBD 2313 0CC5 2314 0CC9 2315 0CCE-0CD4 2316 0CD7-0CDD 2317 0CDF 2318 0CE2-0CE5 2319 0CF0-0D01 2320 0D04 2321 0D0D 2322 0D11 2323 0D29 2324 0D3A-0D3D 2325 0D44-0D45 2326 0D49 2327 0D4E-0D56 2328 0D58-0D5F 2329 0D62-0D65 2330 0D70-0D81 2331 0D84 2332 0D97-0D99 2333 0DB2 2334 0DBC 2335 0DBE-0DBF 2336 0DC7-0DC9 2337 0DCB-0DCE 2338 0DD5 2339 0DD7 2340 0DE0-0DF1 2341 0DF5-0E00 2342 0E3B-0E3E 2343 0E5C-0E80 2344 0E83 2345 0E85-0E86 2346 0E89 2347 0E8B-0E8C 2348 0E8E-0E93 2349 0E98 2350 0EA0 2351 0EA4 2352 0EA6 2353 0EA8-0EA9 2354 0EAC 2355 0EBA 2356 0EBE-0EBF 2357 0EC5 2358 0EC7 2359 0ECE-0ECF 2360 0EDA-0EDB 2361 0EDE-0EFF 2362 0F48 2363 0F6B-0F70 2364 0F8C-0F8F 2365 0F98 2366 0FBD 2367 0FCD-0FCE 2368 0FD0-0FFF 2369 1022 2370 1028 2371 102B 2372 1033-1035 2373 103A-103F 2374 105A-109F 2375 10C6-10CF 2376 10F7-10FA 2377 10FC-10FF 2378 115A-115E 2379 11A3-11A7 2380 11FA-11FF 2381 1207 2382 1247 2383 1249 2384 124E-124F 2385 1257 2386 1259 2387 125E-125F 2388 1287 2389 1289 2390 128E-128F 2391 12AF 2392 12B1 2393 12B6-12B7 2394 12BF 2395 12C1 2396 12C6-12C7 2397 12CF 2398 12D7 2399 12EF 2400 130F 2401 1311 2402 1316-1317 2403 131F 2404 1347 2405 135B-1360 2406 137D-139F 2407 13F5-1400 2408 1677-167F 2409 169D-169F 2410 16F1-177F 2411 17DD-17DF 2412 17EA-17FF 2413 180F 2414 181A-181F 2415 1878-187F 2416 18AA-1DFF 2417 1E9C-1E9F 2418 1EFA-1EFF 2419 1F16-1F17 2420 1F1E-1F1F 2421 1F46-1F47 2422 1F4E-1F4F 2423 1F58 2424 1F5A 2425 1F5C 2426 1F5E 2427 1F7E-1F7F 2428 1FB5 2429 1FC5 2430 1FD4-1FD5 2431 1FDC 2432 1FF0-1FF1 2433 1FF5 2434 1FFF 2435 2047 2436 204E-2069 2437 2071-2073 2438 208F-209F 2439 20B0-20CF 2440 20E4-20FF 2441 213B-2152 2442 2184-218F 2443 21F4-21FF 2444 22F2-22FF 2445 237C 2446 239B-23FF 2447 2427-243F 2448 244B-245F 2449 24EB-24FF 2450 2596-259F 2451 25F8-25FF 2452 2614-2618 2453 2672-2700 2454 2705 2455 270A-270B 2456 2728 2457 274C 2458 274E 2459 2753-2755 2460 2757 2461 275F-2760 2462 2768-2775 2463 2795-2797 2464 27B0 2465 27BF-27FF 2466 2900-2E7F 2467 2E9A 2468 2EF4-2EFF 2469 2FD6-2FEF 2470 2FFC-2FFF 2471 303B-303D 2472 3040 2473 3095-3098 2474 309F-30A0 2475 30FF-3104 2476 312D-3130 2477 318F 2478 31B8-31FF 2479 321D-321F 2480 3244-325F 2481 327C-327E 2482 32B1-32BF 2483 32CC-32CF 2484 32FF 2485 3377-337A 2486 33DE-33DF 2487 33FF 2488 4DB6-4DFF 2489 9FA6-9FFF 2490 A48D-A48F 2491 A4A2-A4A3 2492 A4B4 2493 A4C1 2494 A4C5 2495 A4C7-ABFF 2496 D7A4-D7FF 2497 FA2E-FAFF 2498 FB07-FB12 2499 FB18-FB1C 2500 FB37 2501 FB3D 2502 FB3F 2503 FB42 2504 FB45 2505 FBB2-FBD2 2506 FD40-FD4F 2507 FD90-FD91 2508 FDC8-FDCF 2509 FDFC-FE1F 2510 FE24-FE2F 2511 FE45-FE48 2512 FE53 2513 FE67 2514 FE6C-FE6F 2515 FE73 2516 FE75 2517 FEFD-FEFE 2518 FF00 2519 FF5F-FF60 2520 FFBF-FFC1 2521 FFC8-FFC9 2522 FFD0-FFD1 2523 FFD8-FFD9 2524 FFDD-FFDF 2525 FFE7 2526 FFEF-FFF8 2527 10000-102FF 2528 1031F 2529 10324-1032F 2530 1034B-103FF 2531 10426-10427 2532 1044E-1CFFF 2533 1D0F6-1D0FF 2534 1D127-1D129 2535 1D1DE-1D3FF 2536 1D455 2537 1D49D 2538 1D4A0-1D4A1 2539 1D4A3-1D4A4 2540 1D4A7-1D4A8 2541 1D4AD 2542 1D4BA 2543 1D4BC 2544 1D4C1 2545 1D4C4 2546 1D506 2547 1D50B-1D50C 2548 1D515 2549 1D51D 2550 1D53A 2551 1D53F 2552 1D545 2553 1D547-1D549 2554 1D551 2555 1D6A4-1D6A7 2556 1D7CA-1D7CD 2557 1D800-1FFFD 2558 2A6D7-2F7FF 2559 2FA1E-2FFFD 2560 30000-3FFFD 2561 40000-4FFFD 2562 50000-5FFFD 2563 60000-6FFFD 2564 70000-7FFFD 2565 80000-8FFFD 2566 90000-9FFFD 2567 A0000-AFFFD 2568 B0000-BFFFD 2569 C0000-CFFFD 2570 D0000-DFFFD 2571 E0000 2572 E0002-E001F 2573 E0080-EFFFD 2574 ----- End Unassigned Table -----