Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 8 Dec 2013 11:20:59 +0900
From:      Tomoaki AOKI <junchoon@dec.sakura.ne.jp>
To:        freebsd-stable@freebsd.org
Subject:   Problems in base iconv conversion
Message-ID:  <20131208112059.f892398f0a22f58311684c2f@dec.sakura.ne.jp>

next in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
Hi

In base iconv, some character sets have problem, mostly related to
single-byte JIS X 0201 Kana (aka Half Width Kana) and multi-bytes JIS X
0213 (2004 version is the newest standard for now).

The problems can be stratified by 3 error patterns.

1. Illegal byte sequence (in Gnu iconv, "cannot convert")
2. Invalid argument (in Gnu iconv, "unsupported")
3. Invalid characters


What I tried is: 
  *Select Japanese codes from `icomv -l`. (Possibly dropped some codes)

  *Stratify them by whether single-byte or multi-bytes.

  *Convert simple test string (no meaning as sentences) from UTF-8 to
   target code using `iconv -f UTF-8 -t (target) (TestString)` and its
   reverse conversion, and compare reverse converted string with
   original test string. If error occurred, stratify by it and record
   the output in hex form.

Please see attached PDF for detail (Notes are basically for base iconv).
Base iconv in stable/10 r258701 and Gnu iconv from ports in stable/9 for
reference.

Strangely, although all target is listed in `iconv -l` (base iconv,
not all of them are listed in ports Gnu iconv), some target caught error
"invalid argument" and no output string to stdout. This shall not
happen, and should be gracefully supported or dropped from list.

In other error pattern, output strings are erroneously converted.
In some case dropped some character, or converted to alternative
character for error case (GETA MARK).

But I'd need to mention that mapping non-supported character to GETA
MARK is normal treatment for multi-bytes case because not all UTF-8
characters are supported in every codes. Dropping unsupported  is
considered as really abnormal in most cases.

Can someone confirm and fix? Looking in src tree, corresponding csmapper
sources seems existing. But my knowledge in iconv internals is
insufficient, so I can't figure out why these error occurs.
I have no fix, sorry. (It's beyonds my ability).


Some technical notes:

In JIS X 0201 and its variants, half width katakana characters are
supported directly in 8bits encoding and via shift-out/shift-in in
7bits encoding.

JIS X 0212 is extension for JIS X 0208. Not superset of JIS X 0208.

In other hand, JIS X 0213 is modified superset of JIS X 0208. (Includes
almost all of JIS X 0208 but not compatible as some code points are
changed, subsumed or splitted. In addition, many of MS extended
characters are included.)

In strict EUC-JP (equals to EUC variant of ISO2022-JP), half width
katakana characters are intentionally unsupported, but EUC-JP itself can
support them as 2-bytes form lead by 0x8E followed by JIS X 0201 code.
In strict EUC-JP, JIS X 0212 extended characters are not supported, but
EUC-JP itself can support as 3-bytes form lead by 0x8F.

In my multi-bytes test string, codepoint 0xE2 0x85 0xB1 in UTF-8 is
vendor specific in JIS X 0208 and JIS X 0208 + 0212 (equals to
ISO2022-JP-1 excluding half width katanaka characters), including
SHIFT_JIS variants and EUC variants. Some of these vendor specific
characters are introduced into standard in JIS X 0213.
Vendor specific variants such as CP932 already have them from before
JIS X 0213.

Regards.

-- 
Tomoaki AOKI    junchoon@dec.sakura.ne.jp

[-- Attachment #2 --]
%PDF-1.4
%äüöß
2 0 obj
<</Length 3 0 R/Filter/FlateDecode>>
stream
x]K8ׯy6h9z=43t{^E9u*TeЦ>RIQ^/MjRɯL/~?MGܘ_r@029b+a_G'O@$$j‿L`H/+Rm	QߛAHn'D$NhMc'2ArkTe킯Ю'O|NH.Slde UPʝ>7`;|bb~Y(Q
X`,QbHF8`+c^y!	A|Ί>V5qCΚ
'DD3A[Y*xq2ABSd܄(֢{GW}՞xu>ґjZ|H 0Ej‭EP3A2q8Qle@U >vFu&_SD$ʈ5>,;qGď<I2!Rj탢D璢9=M[]
lPA r1J[0ְC"edT8`+,i	A|NMk5fTGX,Uu^/3T໕'
R!PFcw('j‭yf(R)$؝:
%j‭zIUrlZt'j
/5,}'kR)$؝5qV	|L`H Q[OHU$ͦW)"Qle(
CPNHԂ#QldeaTA*ʈ|NDMxI)9u^g>ŷsS!H彳S&57Ymh$7mY%5fYFB ~+wO?H,3l'&o5"AT/J[J	z]
A++F QA/ǀ*KS'Q
X=HU	 W\E&p<δ3)$ñXCUFR"U<$Ck6B}nVVZWT.]I====l/,k]NWֿ|IEGO$1)v~W׍fʞWE=t߱\7?yjIG*9H4og[ v /	]C,udo2%iW	)d-3,]F#u(N;KR^D!**Kl},_9X7404eF*w#rnQs7"v$<8DLFԉсHR~N6đ0~I6DFt,k*f#&D#,Nh>`6e	jLD*w#rn`;A۔vB(D8
3)R0_M#AڴZvq
Y4{9'9`mL|2.	i+&9PaL߽Å?2*
jZ?zUuګ7]+fjN,y6 |D[Hm|yZ)(t5JpfZWT1 @7 9n`u]%&W[NC	pFCh8Kc7\}W	ʤҝ+
՘o_Z>h?],)goW~h5%kq?QH˩,o_{#*uCgSoѦj,6S`76Aa5;B\1 g6YW
#uzyk
hAK'Ac,|FLsZYn_J7Ci}%XWdiOc\u(>RmW[h=:h)8պS|eAcʡwؘ۬7:v-`3io\;Zndigei`'C'?gQห^;LљC$C.rI~jg1nnAFoʟ0BҧK3MXIq?{#Hmd#H##ȨXeo)޵
8q>2jK?G38}0nBzα	b73Цr}{}	w}W#ݧ\
P+bﺩVjFYM81|X>
EY5jJ%XlNT>=}ZRkN^6:Is*+# 32
31qE}sBbנ[FcsFL`Wy}G褼b&2`DB|@=@5>U59g	F84(S0$]ǥK.<2@\+T얗G̵h
@(gaaEcUh50jIYV#HCJ(JQ
ޫuCixԊ98䯴Nµd\=&w*kwLZޫfʷo'ئͅvB<vS|0}Ҿ{;
n' !6<qDn"Sc(zήXS%0Kg>N*Ѝ|~	)N︵"8r9FRb`vW6QntL%g27e*5FfZt3I[2[Џz^<qzo4K_evkB`"g_ɋ}S& ?2z`0S07e0`4J&Lv3M22d"gS#(#r
N/M^˽<4ZJWΆۙJ٫)$ FgCC)6)noA+Tg8$oT<
_⩁ܒo%c8bI8MT?]7m7?	ݓl=:H-EED>aqk]3C^u@?~ 
RPEq^dNFe=嶂"bKAoo"{tm6_T
fdւ2_;@1[I|f}Iw
)=RL7@o״({
!q/*bĺa6T1>!x@HK"}U'{tHDfWc$Yf݁cKm{
ϷIY)[tNyZaNOca-E4F3z:AuqQtҴxCMs<"ٻᔒuƩ>	OH?Y^_#7H᲻r7Mݫ{s{3JRJŹxlCMn=[g&Urk)"˟RZ\'W?xÛC95g~}jԜWӓN]%75b9)PD2zLO'bCeaK
VFuuRgOd<+$
Im"qɬX2NwU$"tn4G67;yGf+wlXY7&^Ej>y	Usk\l@-v4>P#J
gj2>d(Jk9w!43O17`KJkcNGkU^;tqz9lLSz-=FJP{@KR~,>/jm5JOrܢZ=V$[/?Vn륑Z=V#D[-'ي2
DfH~Z~#sWCWDrᏊAw;!ɕТ׹[no&ַIbGCYǽZSFjh%E]O]IKuzdڅv20/؛TiVP
?K댱T{M7Һ_
yUYNccuC&`f&0ڈ}gd5U<cA݋C
t\۷Bع({YKΣC^h#htOYH.^Evhh>?L<hZF@<#Zhw#AwES:)a.#|˛c.?BCzˏ]^hw#Aw./p?c"l<Ld~l*S&>?wJ?q-:k<`q-;론{,ȅףQ> G=eFk 7Ou{wnO9jVu+>^~}a-~{J|އC9=}T~|F>=#X3{]ʈ#(:̈ېʈc(;Έ#AweD	37w]?jrxT2ęOO:^z?Av"Dܴ0t|XCWhw#Aw+p?HbFB@1ܠIÓAi:;_ܑ_g9;HֆA&2u?-IMP_G>p?y<5}GD5=yΏV$zZ԰NLN}#sY֧]x%=55fY7@>@KU(I«sEE@"i\$qy$8R*zP	O(>ső9,FHһIH⛠ITyoTC5I7?R 
NHI/|H$!<#GI1gph D=>]߻o$|ՐOE|	gOߚ`n^ѥ:wqX+eR+ϿLdœpŽĈY;"z~#8ů~vM0[$XFoN1KR%2|(wuX
ޑ{Y~GzGsx|KJoTwW-|5ܔmϚ7c"dhT+"w#pdß-rXq.	J|1}M^YN".d7Ι"K>xys>P&{~'Cc<$4;C#1!?|THCyHe[6}gnaNG
endstream
endobj

3 0 obj
5309
endobj

4 0 obj
<</Type/XObject
/Subtype/Form
/BBox[ -9 420 604 420.1 ]
/Group<</S/Transparency/CS/DeviceRGB/K true>>
/Length 8
/Filter/FlateDecode
>>
stream
x
endstream
endobj

5 0 obj
<</CA 0.5
   /ca 0.5
>>
endobj

7 0 obj
<</Length 8 0 R/Filter/FlateDecode>>
stream
x]K6ޟ_u}%A:]Ew3F#A2CR/ʢJӢQ'Y%}R+ofN?M?	/Iɹo\oK!)د??~Ӈ-1Jt YdIEY(9]O^Ȩn,y:ۄ%9k)w&n0c#ì쯐k>hRd"dEReW6%z@ՄYXE Ibt_|A^160,\/!%1>fУ,XHjfsETJ2Qݱf41kBN
~3NAEUT/wVW3+o:@AkWiyЊL4
̠QzF+	8Z'RrȊT)G^}XxGMX|ZY6gsTڜ򨄖`	SGd(yDfgc~w[}@[wO,A~m]kV+
\
O"}tE@*eprt5 RA> Ct5_1cIoĂFhDxqP-kXyYݧrGwrgca11J׋:X\ᏉGL
ի9]u^X!̩\ԥpZQ5uLRx>r*WZ6+^5NR.^ںoxwsOths@}33ؙP⁺GOtDV@
!$0!g*=w_άZ+Cua7
OG~ˏe	d6I8UT=xTH.9O | $XnŠ5	ǒKTj&IUy4$XKfjR>P4(#F./(d98d=-#zc:_s&af㋵oe4UxM&vF"5J`ygTHz5)VE
:HZ*a^M!_k97c-6jAz5eXoߠ>HZ)7tF	+
v8g:cb$=ƤYBצ(UT0H
#I7c8ϚJ9U KW1bzi̩a^I1W0j-1
Zgm/KXo=e~`-4q=t2(U0H1`xz(GbAz5%
PC7Nk"I޾R U;N_ۨ}jI1fZ6J
Az,,M`H5U c)#I7czAFXJhICuzڤRF&n0QHz,YlcAz,=4q=ɇR*11Ң^ =01"ǀQw!04{'k+Xg_/GF
h?SugEz`ZnɔVs[-(a^Mql1lkyڲ6\B>ff*uʥoČu8]f\=KtY~dCh5#DYXV7qrmn#	~jML)>-/%l<I٫ͧE^kғ-I`}zZ/Q=I#)fD1꽞+|ž`5zRF$/Z/u^O}\1}ygT#)f\oK~MK2gf\f[!E0ǵ5VsU
Ki}V_eea՞693\Y/8#Z`
v@q6j퀤'9ౢWEpAOz\[atB%:!INyX茐[tF4Sy퀘Cp@ғk\tEAKj|sf耐KtAГƍLrz3.QZ|iVv턘K+5hm>kκVTvﱶo`lz#2b=RgWzZ\r!U0}v_YND'%'TՉx<W6/_;"	{R>t|E+Q-ZM-/9^;ݐZ'6
hkw_oQrKZ%mЃXAK5sxڥ#W+4+`#~U2VM)䀤'T	IvD):rU/9aOHSkhWaPۀ47Eͱ
tƹʘÆ^A-AyQtZ$	Iu^җ=	~ւZCt@<:8D+7LgLvGГE9/x(p'rdr3H;G>`̻ak/e$8lL/	Q|q zCAeN-w/&b3䘨&5K @vtLZnlS'yk.[vtд6X[cbcuT46o沝&i^[7p浩Ju[0GG#`+&VMS5{)K6wAXmWƎ#F[^*}-Ki^*+ǘm27|ٹt?%m~J/缨qw?snxv9Dr]VE9`-}uR=zNTqgCFhsa6ZP)4FͻtR6\Fv"	WB3z\oc:sΞ+g>
|EqUr3WL1\E{ o}fN'miUǜo8{-߿xa޻OY˖[!peE\;:Z؟v<(CMG1tحP3.`{AgZ^f!vnBqs;oaՑe~
vgyŖp1F/^bn3l
٭
G6C(\g
wMYb#&L,F2ڄ|0i{Gb=?]CgtF~J	)SMœ4/q'&P"VuO:{a#ʝ]ha.14Ns˘i
v[0wuԷi
ڗ;
b)Kh+-O}k7֨ǩeL{+`\}EƟvO
,O}ߴ1߂nx&ԽH{ٴDzC\<߈i_|p%U+c,iܿ<5nՇe+cMylj`*}8~럣a%sC4n/!˧v*#m
ZN/lc|'!N
qH/Sxi'>	w,(E)ݚ'$؉KF>ť7D)#!JuQqכWsI88<_zMoSFzC
+b-O	]qHoSAzer
?;i8lzC
Q8/R<}-\%'s{6Jv(	Gw=2Kc&lNlR©gٴ{
QH/Ry9cp0Q2GUvtz8g;┑8o<^'XN|Q4F|d7D =EitPܮ}>\"eڎ>hCc$GN>CېO۰){Fd6QDGm/zytoal?t^';)o3;INqSziW-}xqj?[[S|2fG-N5ǑmoaHraNlf+#wli6ÈP
2ۨi8]1WCA?D1Y$o
~wG 5RL G/A@~|~5įzl
zSuxd~*^ߐjBj-?tvhfw{nkf63CA7eEkZ
=[boѷ\dy?!|9&flFCM"l{	/n\AU·nbFk>0+fyQ	Np}jN?|c3yb
endstream
endobj

8 0 obj
4493
endobj

9 0 obj
<</Type/XObject
/Subtype/Form
/BBox[ -9 420 604 420.1 ]
/Group<</S/Transparency/CS/DeviceRGB/K true>>
/Length 8
/Filter/FlateDecode
>>
stream
x
endstream
endobj

10 0 obj
<</CA 0.5
   /ca 0.5
>>
endobj

12 0 obj
<</Length 13 0 R/Filter/FlateDecode>>
stream
x[M޸
ϯy YPEC~IỜ쎜8E!)J8zO_(lZx^|O˿>R|9g|f|Z}6ica1A=ԞN٧_Oda5>IFϠV_ȨcY3_qϒwVah"Le\cE|2QP]T2;8Ռ1bD5rЏ6k=!D*3H ڄ$SU
zOD5@eQaITt7yBT /pn=I'mw4Zn
iyח," /A98ZU@nxׂRWlyWN;u)=^/keWD
z<;uZO(Aq@]]T@kqk'}(y+;uF6tHAU_ѨC}wl*Mv2*;lWB0a5-"<3Xw0
0jJ=ZN+4)`dh#Gܦm5^]:`Jxqn
? ct5@[)ߍEN,\QtU;As' N(0
q8h4Q{{7{w4=b~d%j08S 6{ҷjzcjQ{:.`oWZػVKi٪YrXizkR[`qۅ_	='f^V8NȩxQÍ[hz,P6RZTbR&;tk$"JG3ם9GxG`Цgr~k0`.~8"|>@|K2t&oDNĉKauz+{U"V&H?vZG'41bҗJJy&Opoqe&H%U'9d>FFNg98a~[vn@PWs&7=oC{D$TmUc@j(c0_6D-ïi
#SK@j(c0_ӳ2
{̊TH%#QK~ԆQ`'nZZ=Іbyh*c0_`$jiv.Q	RjO6;eZ#UQ	|ogV?_~`7q^CQVaaBB0՞H*1`m1ơ|O4U(oZ
f<Y?kLuʺ@^u#tzU=@֟8B:,zA[(0PaLQlkԪ,A[0j%$fSOPkƅfXUa)Hmc8U
H4E,!+bg}^9'ygYW|zRf8"2xVW>orS
xҢRv
Ün$Dӓ@Q~eAFt!cx[MdcdFXCVk)D#%#\|i0$	р|\<b`$!/M0(}%[tIãM܃+=p(_1@
xՈ>d'DyQ甾[طEc%cض͜9ѬO2ENUSgj0EM'ڲ{{6jaBCSmcR}Ap+&bK\s7 
n.L-<dm-V>[	z=IiX^4=rgzQ9'l&e)Yw@2+HcHI(ou~zN(fd%#"WfG.кM94)¸s#q\A<BމhB	gIY3Ԕ; vٱcdÄJ }L"7#Ec@2¡퀈H"ǃd|HI99c
#ۄ	Ŷ9sq,ü< bi~Ҭ 1:)B "&DQq֬<"b逈eyPǤD= b&Ό	0)bZ
A:Z0jV9\ǗߌX|ӿɎH QéZkK?ҟ{dHjh};^<5hD2s3ёUeDj6/S=̀Ir,H̒4$#fIF:`$#0K
%8CT7+y5ւ5:[aí;vW泱z;vfMЙ4

W|:p|Wٿ~Beyw_-wyr,kQ=
endstream
endobj

13 0 obj
2448
endobj

14 0 obj
<</Type/XObject
/Subtype/Form
/BBox[ -9 420 604 420.1 ]
/Group<</S/Transparency/CS/DeviceRGB/K true>>
/Length 8
/Filter/FlateDecode
>>
stream
x
endstream
endobj

15 0 obj
<</CA 0.5
   /ca 0.5
>>
endobj

17 0 obj
<</Length 18 0 R/Filter/FlateDecode/Length1 18544>>
stream
x{y|TYdf:$$ Lc		!1DDLCD" "bDK""ZT[]UkպҺ.37ܙI"mϧ=w;9}3]HnDԭt͔B u:h!\;ҰeGK""7y[csOK_}T_ЛHGhR_VD(|Z:msu5t
BS&-uׯ%7*C5u-Ϧ\w/Bő׶vt6!BekpP0|	xAT#4Z7Mfiw8\OjZzFfVvN7/7aES%SM1l9s_P~UՕT-\ښ떠J 4FrUtEChzD[I:=@h#Dߡ%h=j4me5OP;|ޣ@3pC>CϢ|<ՄΡ5hV_i5jR!%۲&gb0Nd_6{wʷPރg3g#4cB(8d-Y3cx44Ux@\.%<nnUO"*pOd8
wRSҠdNS؀]cmp%ظ=88j.!w"/˩mLEM-&"
d@`+S0GY0r`sjJB*%^dc\NY4834Df;0hP9TtȆ"tDGh(.ҊQv+RocS,>.f*(VjUhԋ}6UəkZ
`V.繨0;p=6Go^ʂ?4VK_K>'RnrɶvG%<Oz"ݜ.d2b,hF8=@بAY?;SU[`|^ɕJP3o/6Vk.WO\YYu|u1߾n+]صr6T	^(a_#5-V>qڑhC^Dz|]<JҘց@Zgp-پj(k/ǟ
`c5dYLo5ӧՇA3J
{)DU0IDT*Q5S}Cjt@
4h&yca3p<7xIy􊞉oew.po!#? |,EZ1g5bѠ(z>*D	d5W[KX'p[dVNg8}"w񽾣7C8;R=D)wZhQ"hqMG2.znw"5M[Z:B3Ñ
"5-iYs9KaPZ|Y|w6kX)i]:;}m^m~g%}6WTʲ\Qi%.<?|+VwozFu-ad=C(-8D,^9
GcTp	Vs 89Zle@Lzfc.ta'w'(xb3񞉽-3jHEMܵ|I5i6Iqz߾wR<˖wwϝ30zGtg5`,.ЋA!)-QG1JY@d2a}[`۾…]jW׾t}r+5W8h$c˭9ce_#+bH	ףCn']C:}
ZRQIzd2ypW7z9[5Ϋ^Yn)s.Nz"dBbrXTA2y
䘪IB#9:tʤ50-?j/C!ØmC΃_}5gO?Iv3l
avt0<*	'r8I ZZ9_jOjWLHVc}!'=S.݆s<7sJOsýe)iY^UJn]87o[l\F&@=F-H
bD0c8BYD˝x:-F9ftK~`^[f_]چu~MZ^L_I|wz6嶵/84{2<NE$gJTz̀0AP8	?hp
!;ps쁶[N9fNR38U+	PFTzs5l4T^H*Vl$V8T0[
.C썡EKrxtMd-tHֲbzaGhHDQ%.^5މBltk4#iGJ36I']D:Ƴu2Y<Ea
*CbePBe_y:p؈oz
|+>28*#?&RTi*9x'@,:M
<DFȹ5Oi^<f/cʏNM,j
0/o憎֎.oc2z'D P>330j:gǥ'H"OψG
6ʳO8{$o6>|&mbRHT	.<
]7&*1!DAK՟^bK)?{rC?xj³AşQh,R=
Y8"b-G(92zZ;"Vܥ
C	;8,jAGg&
4ǚW³Jeo~[:\RGi_* cHEYeNԉ[OH{ZN{q@.7_K*P
Ԛ?M㽳`u:dJn;Aձ(q?CP<JAMR5Кt@Ҳڟ٪)9/atl߼\G}
W>(&z4&]
W[LRȘ5}fGBl2:9єEJ3rbp|!cT%ڼk[N.+I޸˟]/L$;1]H~[xai0谷WK0Z+hV/U2@*{6Tdxˊ3sn/,qmݯw땖r߬ZxWmҦZ*m?Dj^Fjl` AʐX!XڙdFQ875)lBGCxLAEU[p^i4a'rQdwݲZ}U9Oы'M0:3z4ebl
zZպgWwlZ}K
iOI_~
\^!RCV6ø.gt4 af(tAG
GX95@|~^zoAzs@%9xk|zYҳQ'r2DbHX$\0Dj 21{x!|bԵT*8W`>v\ig?^Ӗҷ{NÇWO]/}"
OK\(#wDtoiKU;o#@`n|ipFKd<$sOG	e}GpSxSһ@Ow#`(JwK{K
"tJo

\8*U!<:drZ`P\[yL 
l4`U` A({IH>~,N$XȸIqtztV ߿-@KGas,@b+*`AB48:))ӉP&B<>jy^@,yow^~?:0A&= 6V(	`}Zq48\Ap@iYgۏ~x *E!y,Kb5
	
BcS&@I~ZH'@JAFmPCR)^N0!êԱ!&£ ܖ
Z,w

ȫVBD4,<F`
SM0\^y/{j7Pkj63k@Ix6%G#id	_|jq&3BߎJd]3ΰGSoC27.7eQ?ɔ!I`!%@|-ɺ,]GXlsϷR6Ӆ͠8ZԋP]ج#NBpN59nKؼK?}'%sqd
*۠O"XE*!P	?e/+ވaK5oCя?>ZY+,VzϠ}u^DQP	^O|N"!"Q́@@ӰId(&ɚlbiyR^3i'$VHjA:u{`_n%0.@"6wFjUFx|F1~~+*^p`ӸXHΨCEq1'8."5ph<j5k3hzY
ǔrt,X.c4J!wmng顩Gn5%ݵ/y:w˟v-bs#/ 9_s!}'ӵ/Ww;_&&cmशV^c (،ȋ^{1o}A;\Ah%$ox7"dsNJEC! y-AQrqp(7F*kgZQiavRW/j=)"\#ǟ1s=_i,.&
;f]xtW݇ZK~@{d@rfhL`#
DG&z1R`il*!+3G\,Hc0lʨ5okNU_|{#>XRh/ꯘXUUXuAKҖW/:[
'to~G{fOoꝽƙYe׬_`ٲW6\DK43*
~D]Fl^?D5y**'D}$bd$[Sd&c2$#G~BiP8bѝh#{WvgU3M]K6({H_<غ͓[N/+C-U;P}J6
qaEl`ut8HMӣ{;s!8uбa9N.L;NiCxP9:тo:[5jZ	>s
|
VO7\~CjwКː*71zCT]+Cgqӗ4ėKYx\fPNbBE($zaXXy1ٌjDqj)(c+c
eŨُ3dopQt
[rj>~2툵lS+㹮*1ǫʪ;]k8ٶw	/Sh6׀YH5ȸ$ŏ|(ŐÇ+"kQѣR)v.@V0:9@59]j+x11i9?LP9G**:=<bPOsPDV:a@g1+J9]*
!^.x!hQ
4@DBjxx]C	4(TT0r&bO*@,c':cdT!!݅^dmH51X<c	3P.<(,ZLʊur>)&u!WN3&i~`00ԏfP
/=z[֗.H7k9I.!^41mP)!FƂVQ͂v*j^E9Q-XbC"@:?6k+g6ޮooLWٿ:)ހP%燈Z-!Odi"'gR)' }0iԱ,o2:j1p/Cb~J{iGi<pG=+]kZ^:i=#$J[^tZf=HwHȠb0*f8.wrx"Me,U:{!.?`#deKY呯P*EiEb/"Fi>5"y8/BR 3=5&t%05ېJM*NOEP%f,=rVȝ
LB 4Rve6at~GAbB
m#G;9?vhٲXܲCoZOQwyᢅqe-'+J+|
<9SRFO=y!ǟ>kf/հ\K祚
8Yާ;9Sq>M,T--]?kiqz7gF~-jZY/)`ӋDA=ЪY\IeSl-3c$&>{-U*輊iuXXgL8|45[*UKl
h9(>+a|jDM+ZFPLe(#ǧT?.S8rTkVUs|"\YQ>ЛmzC1bH ԥ8Gth|GyY^5[u.&P+EƶB|r(1H&զHbwU{YaU.	̶_Y
&
Nĉz鴖OaԅAE}OUo>$I='z*޹f9pn?p-A>MPf25}f&
ӣv~<|hѵ?j(M2_4߶5D*I]pN֕[Y)1#B:5F8
Gc3R*䩳΅RDP*S%
:.Hǻ3]v}t~t7CpSpW~sġ֑6mQȕ<(	IX;NnƙYnfMsni8B<8''qJ2Kmʘ'#$МtwXLN)q;gĞ-BSCLFl2/
Y{-αO~C653d<zb/8MKdC ͙ҳm
ww
/worWgm]hwGov_M7#Kt4Uk1')O+rչf2c2hxaysfOHKNJL0lהҲkqingqT:rc3M}x<:@;l	Ttj@zS4vk3}*FNO$峊D"^--\8g3;OOcd(&ڎcE.p&4ϋ804.G9W,vMX糑Pf
'd*LL`쾍ٺVߌ[T67sy)}{lYܜYuaaOl*B|PJh
ܸ)UU3Y8LK7̐ᎩcAR[\HW|R*rK˸i顖{^nq+N·g<_M#GPADfR@!5
"ix96V彅T-kr?>t$}/>}_|1i><omQ4r"7Z꟯H8b8; 5D7NčAFʹe;g&\Q$jfLL)\i"aMƙl((cI>=#1+YӶ4faG
^y@WolOqI/xvT4W}}5+~Ȓy
]lz`	P!*\V6
9|ًɖ7ްq_vaUgΘesiE9OFЮ5U|v5s"ItXl$+9eڣIb7aVΞ8A/.N2"7MOZܜxrM\͵xeӜtysiA~i,KK&JS"m4&R5mq6-ujo	edG3<?3r1qdc9EljZrRigheMikm^çU5\u.]P_k++isJEv^?xʤ1vE Փi<j%njsٳu5jŀf5=5Jzbh=cuЎN?.()%N
wYap,D#z^~%t)oM[ƬocnJ7KR:.#mrg||sQU\+›?q\Es|~}37{|Upq533[gp,&cKkێ7\Wݵs'>p.[X\۴ܒ^WruR~|kGx^)۶]{`wVCy#xSw3sn+)m^:v&\x{u͓g~!zW3gtETѼ>0w*҃#6I#YJ`cbdk$xr,75"Y^Tt&a6	f5>GaZ
FG!vJj	P?E,udAec)&=@5x
R#ot>Ջ9lzTָoVf}^F~Y76ڿ[sm^DKĔ[d`0ǜJ$^P	Ϲ&NM7b%ɁwW9]tYx?>_&ǐhF.	]ȋ)&ys2S]LV%ۣw7SFopwؽ`.L[p9P dP%s%Ln*҇%a~fҀ_I_j\‡ZnCO6IvWjݞYX,]wђſQpwر'Ie XQ2=bE{tc8hߨf:B:;?0iSL!J
R'yo^:0<q8: Ԝ^wáĄg-#}g~]s`|s3ܐ80
2G<BKH(]ϷRD;Nu&^9nef
#It*ʷu}ewhtrF(P?_if8iK1.9	g]5[3W<Ip^뤙}t/Jr9@;q.nuI*5{+ϐx(ۧEg~!&SVB
5Z	M+/Ce}g*m`Iʖm!AR&NI+m!㞛u:TN:ԃwƓ8kF&pxlAF[ئq0ddR
0>a⾆i_]w)wrbʑy<#&߹w7b޹k}ʻ}'I*#7><C853!.)
,NFdClks]Q Q6&wfwa韕ׅư O0v:	Lj
߰^JRTp	&~!-ZR^7=uCAveY9Y	llk`vU\x6]>SO*1ؕ\TqB^
e$L5KxqD^靯xfGXpݴc{2F*^NP,Z	,SRKlu*-Dp*U(6c`Lgh.jf/'F-4G?ۗ=)}փ9dAkYX#>/*^(ung|tZ<X31cgvpHق}֩~KdRJ1qf&(oC_o]͘_947_ޒR^}ιL9֫6IL\jϬ[{[hBY<Jpa qM,पB3X^7G)0nMX`u,` G[ֺZ^?NSW)(]cnQ;V=bs.V^I{pɿǥ?$ԊDدTGԊ4)#q?eWZz(K8{8$Cie tw}o9.]oӂmе%6aPr$Trʔy7e5_"(+B
(PB}d5t^e#3xQq/sIB^;>/@複cR~q
%83?d8(gT@PDzȖ-wxn~d=uI5s'x/_AxX!*V*Wʳ*AP-TW

o"E5*_39yOsI[}VJwJX!">)^'_4Z
&LM[,oZlDj#DJ~QQD}=YMf0!@%Cό3<C:H)<ϼH9Xg38TעeC98^C.Ձ.TZx$TZDՁՁIՁՁ-ҊgS`á:FFyJ:Eٜ&T琑(p}U\70Z?Tn
"Ph	Bu&TZ':RPh)̡bֵ=+:S{4ul]YiMkskc]t4֯Yޓ]n#eVy'ݑt,nrtut:/_Hh\;)+kں5pll\]ejW._Q_.'9wt6pmo]ѵ3l++GUgЇlr_ο翗h*jEkQjG+Q#jB(-GwQ+e@hz+jo;{ۡ%z-'|6
4|'eZ|2bh-:VYN8RnA	-3
Ԏ>UcX)h::k%Nx!^>k7:V
\LMrF#oUZgA>d<w)7gG~ߡmoK?Y6>#"yG
endstream
endobj

18 0 obj
11991
endobj

19 0 obj
<</Type/FontDescriptor/FontName/BAAAAA+IPAGothic
/Flags 4
/FontBBox[-455 -278 999 930]/ItalicAngle 0
/Ascent 879
/Descent -195
/CapHeight 930
/StemV 80
/FontFile2 17 0 R
>>
endobj

20 0 obj
<</Length 633/Filter/FlateDecode>>
stream
x]ˎ@E|K1cE
`fb)x}|$RvWu}~^1ٹ)ޮS+corW%xrf={u׷i:uqG}\+^0gjͺx^|>_Nf[^q	>Hv6864vwW۹yfٚ.l=lspA.[k8+q	މ
Y̳jr<{Јkr1/`oo/,sK{8{f#Ot?\+ZoaS.ZlGlgN{8[[^Vy?Q@N'zK'tCjww#;;9;_=wɟ̓QOxzos>xr:KMS{_2k&Jʙ0Ohr	/tpgcN !p"ڃJ1c{W
;,7\3<Þ34H3c1#
H
endstream
endobj

21 0 obj
<</Type/Font/Subtype/TrueType/BaseFont/BAAAAA+IPAGothic
/FirstChar 0
/LastChar 94
/Widths[1000 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500
500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500
500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500
500 500 500 500 500 500 500 500 500 500 500 500 500 500 500 500
500 500 500 1000 500 1000 500 500 500 500 500 1000 1000 1000 1000 1000
1000 1000 500 1000 500 1000 1000 1000 1000 1000 1000 1000 1000 1000 500 ]
/FontDescriptor 19 0 R
/ToUnicode 20 0 R
>>
endobj

22 0 obj
<</F1 21 0 R
>>
endobj

23 0 obj
<</Font 22 0 R
/XObject<</Tr14 14 0 R/Tr4 4 0 R/Tr9 9 0 R>>
/ExtGState<</EGS10 10 0 R/EGS15 15 0 R/EGS5 5 0 R>>
/ProcSet[/PDF/Text/ImageC/ImageI/ImageB]
>>
endobj

1 0 obj
<</Type/Page/Parent 16 0 R/Resources 23 0 R/MediaBox[0 0 595 842]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 2 0 R>>
endobj

6 0 obj
<</Type/Page/Parent 16 0 R/Resources 23 0 R/MediaBox[0 0 595 842]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 7 0 R>>
endobj

11 0 obj
<</Type/Page/Parent 16 0 R/Resources 23 0 R/MediaBox[0 0 595 842]/Group<</S/Transparency/CS/DeviceRGB/I true>>/Contents 12 0 R>>
endobj

24 0 obj
<</Count 1/First 25 0 R/Last 25 0 R
>>
endobj

25 0 obj
<</Count 0/Title<FEFF0074006500730074002D00690063006F006E007600200072006500730075006C00740073>
/Dest[1 0 R/XYZ 0 842 0]/Parent 24 0 R>>
endobj

16 0 obj
<</Type/Pages
/Resources 23 0 R
/MediaBox[ 0 0 595 842 ]
/Kids[ 1 0 R 6 0 R 11 0 R ]
/Count 3>>
endobj

26 0 obj
<</Type/Catalog/Pages 16 0 R
/OpenAction[1 0 R /XYZ null null 0]
/Outlines 24 0 R
>>
endobj

27 0 obj
<</Author<FEFF0041004F004B004900200054006F006D006F0061006B0069>
/Creator<FEFF00430061006C0063>
/Producer<FEFF004C0069006200720065004F0066006600690063006500200034002E0030>
/CreationDate(D:20131207145356+09'00')>>
endobj

xref
0 28
0000000000 65535 f 
0000026955 00000 n 
0000000019 00000 n 
0000005399 00000 n 
0000005420 00000 n 
0000005597 00000 n 
0000027099 00000 n 
0000005637 00000 n 
0000010201 00000 n 
0000010222 00000 n 
0000010399 00000 n 
0000027243 00000 n 
0000010440 00000 n 
0000012961 00000 n 
0000012983 00000 n 
0000013161 00000 n 
0000027598 00000 n 
0000013202 00000 n 
0000025280 00000 n 
0000025303 00000 n 
0000025493 00000 n 
0000026196 00000 n 
0000026749 00000 n 
0000026782 00000 n 
0000027389 00000 n 
0000027445 00000 n 
0000027711 00000 n 
0000027813 00000 n 
trailer
<</Size 28/Root 26 0 R
/Info 27 0 R
/ID [ <BA13A52FBE02F3BF61F5290A44AFDE3C>
<BA13A52FBE02F3BF61F5290A44AFDE3C> ]
/DocChecksum /06A98A55F21C9E4F05BA48ACB541F538
>>
startxref
28042
%%EOF

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20131208112059.f892398f0a22f58311684c2f>