# ***************************************************************************
# *
# *   Copyright (C) 1995-2003, International Business Machines
# *   Corporation and others.  All Rights Reserved.
# *
# ***************************************************************************
#
# File created by rptp2ucm (compiled on Dec  3 2002)
# from source files 34B00366.RPMAP100 and 036634B0.TPMAP100
#
<code_set_name>               "ibm-870_P100-1995"
<char_name_mask>              "AXXXX"
<mb_cur_max>                  1
<mb_cur_min>                  1
<uconv_class>                 "SBCS"
<subchar>                     \x3F
<icu:charsetFamily>           "EBCDIC"
<icu:alias>                   "ibm-870_STD"

CHARMAP
<U0000> \x00 |0
<U0001> \x01 |0
<U0002> \x02 |0
<U0003> \x03 |0
<U0004> \x37 |0
<U0005> \x2D |0
<U0006> \x2E |0
<U0007> \x2F |0
<U0008> \x16 |0
<U0009> \x05 |0
<U000A> \x25 |0
<U000B> \x0B |0
<U000C> \x0C |0
<U000D> \x0D |0
<U000E> \x0E |0
<U000F> \x0F |0
<U0010> \x10 |0
<U0011> \x11 |0
<U0012> \x12 |0
<U0013> \x13 |0
<U0014> \x3C |0
<U0015> \x3D |0
<U0016> \x32 |0
<U0017> \x26 |0
<U0018> \x18 |0
<U0019> \x19 |0
<U001A> \x3F |0
<U001B> \x27 |0
<U001C> \x1C |0
<U001D> \x1D |0
<U001E> \x1E |0
<U001F> \x1F |0
<U0020> \x40 |0
<U0021> \x4F |0
<U0022> \x7F |0
<U0023> \x7B |0
<U0024> \x5B |0
<U0025> \x6C |0
<U0026> \x50 |0
<U0027> \x7D |0
<U0028> \x4D |0
<U0029> \x5D |0
<U002A> \x5C |0
<U002B> \x4E |0
<U002C> \x6B |0
<U002D> \x60 |0
<U002E> \x4B |0
<U002F> \x61 |0
<U0030> \xF0 |0
<U0031> \xF1 |0
<U0032> \xF2 |0
<U0033> \xF3 |0
<U0034> \xF4 |0
<U0035> \xF5 |0
<U0036> \xF6 |0
<U0037> \xF7 |0
<U0038> \xF8 |0
<U0039> \xF9 |0
<U003A> \x7A |0
<U003B> \x5E |0
<U003C> \x4C |0
<U003D> \x7E |0
<U003E> \x6E |0
<U003F> \x6F |0
<U0040> \x7C |0
<U0041> \xC1 |0
<U0042> \xC2 |0
<U0043> \xC3 |0
<U0044> \xC4 |0
<U0045> \xC5 |0
<U0046> \xC6 |0
<U0047> \xC7 |0
<U0048> \xC8 |0
<U0049> \xC9 |0
<U004A> \xD1 |0
<U004B> \xD2 |0
<U004C> \xD3 |0
<U004D> \xD4 |0
<U004E> \xD5 |0
<U004F> \xD6 |0
<U0050> \xD7 |0
<U0051> \xD8 |0
<U0052> \xD9 |0
<U0053> \xE2 |0
<U0054> \xE3 |0
<U0055> \xE4 |0
<U0056> \xE5 |0
<U0057> \xE6 |0
<U0058> \xE7 |0
<U0059> \xE8 |0
<U005A> \xE9 |0
<U005B> \x4A |0
<U005C> \xE0 |0
<U005D> \x5A |0
<U005E> \x5F |0
<U005F> \x6D |0
<U0060> \x79 |0
<U0061> \x81 |0
<U0062> \x82 |0
<U0063> \x83 |0
<U0064> \x84 |0
<U0065> \x85 |0
<U0066> \x86 |0
<U0067> \x87 |0
<U0068> \x88 |0
<U0069> \x89 |0
<U006A> \x91 |0
<U006B> \x92 |0
<U006C> \x93 |0
<U006D> \x94 |0
<U006E> \x95 |0
<U006F> \x96 |0
<U0070> \x97 |0
<U0071> \x98 |0
<U0072> \x99 |0
<U0073> \xA2 |0
<U0074> \xA3 |0
<U0075> \xA4 |0
<U0076> \xA5 |0
<U0077> \xA6 |0
<U0078> \xA7 |0
<U0079> \xA8 |0
<U007A> \xA9 |0
<U007B> \xC0 |0
<U007C> \x6A |0
<U007D> \xD0 |0
<U007E> \xA1 |0
<U007F> \x07 |0
<U0080> \x20 |0
<U0081> \x21 |0
<U0082> \x22 |0
<U0083> \x23 |0
<U0084> \x24 |0
<U0085> \x15 |0
<U0086> \x06 |0
<U0087> \x17 |0
<U0088> \x28 |0
<U0089> \x29 |0
<U008A> \x2A |0
<U008B> \x2B |0
<U008C> \x2C |0
<U008D> \x09 |0
<U008E> \x0A |0
<U008F> \x1B |0
<U0090> \x30 |0
<U0091> \x31 |0
<U0092> \x1A |0
<U0093> \x33 |0
<U0094> \x34 |0
<U0095> \x35 |0
<U0096> \x36 |0
<U0097> \x08 |0
<U0098> \x38 |0
<U0099> \x39 |0
<U009A> \x3A |0
<U009B> \x3B |0
<U009C> \x04 |0
<U009D> \x14 |0
<U009E> \x3E |0
<U009F> \xFF |0
<U00A0> \x41 |0
<U00A4> \x9F |0
<U00A7> \xB5 |0
<U00A8> \xBD |0
<U00AD> \xCA |0
<U00B0> \x90 |0
<U00B4> \xBE |0
<U00B8> \x9D |0
<U00C1> \x65 |0
<U00C2> \x62 |0
<U00C4> \x63 |0
<U00C7> \x68 |0
<U00C9> \x71 |0
<U00CB> \x73 |0
<U00CD> \x75 |0
<U00CE> \x76 |0
<U00D0> \xAC |1
<U00D3> \xEE |0
<U00D4> \xEB |0
<U00D6> \xEC |0
<U00D7> \xBF |0
<U00DA> \xFE |0
<U00DC> \xFC |0
<U00DD> \xAD |0
<U00DF> \x59 |0
<U00E1> \x45 |0
<U00E2> \x42 |0
<U00E4> \x43 |0
<U00E7> \x48 |0
<U00E9> \x51 |0
<U00EB> \x53 |0
<U00ED> \x55 |0
<U00EE> \x56 |0
<U00F3> \xCE |0
<U00F4> \xCB |0
<U00F6> \xCC |0
<U00F7> \xE1 |0
<U00FA> \xDE |0
<U00FC> \xDC |0
<U00FD> \x8D |0
<U0102> \x66 |0
<U0103> \x46 |0
<U0104> \xB1 |0
<U0105> \xA0 |0
<U0106> \x69 |0
<U0107> \x49 |0
<U010C> \x67 |0
<U010D> \x47 |0
<U010E> \xFA |0
<U010F> \xEA |0
<U0110> \xAC |0
<U0111> \x8C |0
<U0118> \x72 |0
<U0119> \x52 |0
<U011A> \xDA |0
<U011B> \xDF |0
<U0139> \x78 |0
<U013A> \x58 |0
<U013D> \x77 |0
<U013E> \x57 |0
<U0141> \xBA |0
<U0142> \x9A |0
<U0143> \xBB |0
<U0144> \x9B |0
<U0147> \xAB |0
<U0148> \x8B |0
<U0150> \xEF |0
<U0151> \xCF |0
<U0154> \xED |0
<U0155> \xCD |0
<U0158> \xAE |0
<U0159> \x8E |0
<U015A> \xAA |0
<U015B> \x8A |0
<U015E> \xAF |0
<U015F> \x8F |0
<U0160> \xBC |0
<U0161> \x9C |0
<U0162> \xB3 |0
<U0163> \x44 |0
<U0164> \xFD |0
<U0165> \xDD |0
<U016E> \x74 |0
<U016F> \x54 |0
<U0170> \xFB |0
<U0171> \xDB |0
<U0179> \xB9 |0
<U017A> \xB7 |0
<U017B> \xB4 |0
<U017C> \xB2 |0
<U017D> \xB8 |0
<U017E> \xB6 |0
<U02C7> \x70 |0
<U02D8> \x80 |0
<U02D9> \xB0 |0
<U02DB> \x9E |0
<U02DD> \x64 |0
<UFF01> \x4F |1
<UFF02> \x7F |1
<UFF03> \x7B |1
<UFF04> \x5B |1
<UFF05> \x6C |1
<UFF06> \x50 |1
<UFF07> \x7D |1
<UFF08> \x4D |1
<UFF09> \x5D |1
<UFF0A> \x5C |1
<UFF0B> \x4E |1
<UFF0C> \x6B |1
<UFF0D> \x60 |1
<UFF0E> \x4B |1
<UFF0F> \x61 |1
<UFF10> \xF0 |1
<UFF11> \xF1 |1
<UFF12> \xF2 |1
<UFF13> \xF3 |1
<UFF14> \xF4 |1
<UFF15> \xF5 |1
<UFF16> \xF6 |1
<UFF17> \xF7 |1
<UFF18> \xF8 |1
<UFF19> \xF9 |1
<UFF1A> \x7A |1
<UFF1B> \x5E |1
<UFF1C> \x4C |1
<UFF1D> \x7E |1
<UFF1E> \x6E |1
<UFF1F> \x6F |1
<UFF20> \x7C |1
<UFF21> \xC1 |1
<UFF22> \xC2 |1
<UFF23> \xC3 |1
<UFF24> \xC4 |1
<UFF25> \xC5 |1
<UFF26> \xC6 |1
<UFF27> \xC7 |1
<UFF28> \xC8 |1
<UFF29> \xC9 |1
<UFF2A> \xD1 |1
<UFF2B> \xD2 |1
<UFF2C> \xD3 |1
<UFF2D> \xD4 |1
<UFF2E> \xD5 |1
<UFF2F> \xD6 |1
<UFF30> \xD7 |1
<UFF31> \xD8 |1
<UFF32> \xD9 |1
<UFF33> \xE2 |1
<UFF34> \xE3 |1
<UFF35> \xE4 |1
<UFF36> \xE5 |1
<UFF37> \xE6 |1
<UFF38> \xE7 |1
<UFF39> \xE8 |1
<UFF3A> \xE9 |1
<UFF3B> \x4A |1
<UFF3C> \xE0 |1
<UFF3D> \x5A |1
<UFF3E> \x5F |1
<UFF3F> \x6D |1
<UFF40> \x79 |1
<UFF41> \x81 |1
<UFF42> \x82 |1
<UFF43> \x83 |1
<UFF44> \x84 |1
<UFF45> \x85 |1
<UFF46> \x86 |1
<UFF47> \x87 |1
<UFF48> \x88 |1
<UFF49> \x89 |1
<UFF4A> \x91 |1
<UFF4B> \x92 |1
<UFF4C> \x93 |1
<UFF4D> \x94 |1
<UFF4E> \x95 |1
<UFF4F> \x96 |1
<UFF50> \x97 |1
<UFF51> \x98 |1
<UFF52> \x99 |1
<UFF53> \xA2 |1
<UFF54> \xA3 |1
<UFF55> \xA4 |1
<UFF56> \xA5 |1
<UFF57> \xA6 |1
<UFF58> \xA7 |1
<UFF59> \xA8 |1
<UFF5A> \xA9 |1
<UFF5B> \xC0 |1
<UFF5C> \x6A |1
<UFF5D> \xD0 |1
<UFF5E> \xA1 |1
END CHARMAP
