243 lines
16 KiB
Text
243 lines
16 KiB
Text
=== tests/cases/conformance/types/objectTypeLiteral/callSignatures/specializedSignatureIsSubtypeOfNonSpecializedSignature.ts ===
|
|
// Specialized signatures must be a subtype of a non-specialized signature
|
|
// All the below should not be errors
|
|
|
|
function foo(x: 'a');
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 0, 0), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 3, 21), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 4, 24))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 3, 13))
|
|
|
|
function foo(x: string);
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 0, 0), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 3, 21), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 4, 24))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 4, 13))
|
|
|
|
function foo(x: any) { }
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 0, 0), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 3, 21), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 4, 24))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 5, 13))
|
|
|
|
class C {
|
|
>C : Symbol(C, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 5, 24))
|
|
|
|
foo(x: 'a');
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 7, 9), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 8, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 9, 19))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 8, 8))
|
|
|
|
foo(x: string);
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 7, 9), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 8, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 9, 19))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 9, 8))
|
|
|
|
foo(x: any) { }
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 7, 9), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 8, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 9, 19))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 10, 8))
|
|
}
|
|
|
|
class C2<T> {
|
|
>C2 : Symbol(C2, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 11, 1))
|
|
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 13, 9))
|
|
|
|
foo(x: 'a');
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 13, 13), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 14, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 15, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 16, 14))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 14, 8))
|
|
|
|
foo(x: string);
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 13, 13), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 14, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 15, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 16, 14))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 15, 8))
|
|
|
|
foo(x: T);
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 13, 13), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 14, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 15, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 16, 14))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 16, 8))
|
|
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 13, 9))
|
|
|
|
foo(x: any) { }
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 13, 13), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 14, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 15, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 16, 14))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 17, 8))
|
|
}
|
|
|
|
class C3<T extends String> {
|
|
>C3 : Symbol(C3, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 18, 1))
|
|
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 20, 9))
|
|
>String : Symbol(String, Decl(lib.d.ts, 275, 1), Decl(lib.d.ts, 443, 11))
|
|
|
|
foo(x: 'a');
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 20, 28), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 21, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 22, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 23, 14))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 21, 8))
|
|
|
|
foo(x: string);
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 20, 28), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 21, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 22, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 23, 14))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 22, 8))
|
|
|
|
foo(x: T);
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 20, 28), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 21, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 22, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 23, 14))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 23, 8))
|
|
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 20, 9))
|
|
|
|
foo(x: any) { }
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 20, 28), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 21, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 22, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 23, 14))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 24, 8))
|
|
}
|
|
|
|
interface I {
|
|
>I : Symbol(I, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 25, 1))
|
|
|
|
(x: 'a');
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 28, 5))
|
|
|
|
(x: number);
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 29, 5))
|
|
|
|
(x: string);
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 30, 5))
|
|
|
|
foo(x: 'a');
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 30, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 31, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 32, 19))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 31, 8))
|
|
|
|
foo(x: string);
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 30, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 31, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 32, 19))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 32, 8))
|
|
|
|
foo(x: number);
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 30, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 31, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 32, 19))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 33, 8))
|
|
}
|
|
|
|
interface I2<T> {
|
|
>I2 : Symbol(I2, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 34, 1))
|
|
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 36, 13))
|
|
|
|
(x: 'a');
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 37, 5))
|
|
|
|
(x: T);
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 38, 5))
|
|
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 36, 13))
|
|
|
|
(x: string);
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 39, 5))
|
|
|
|
foo(x: 'a');
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 39, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 40, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 41, 19))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 40, 8))
|
|
|
|
foo(x: string);
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 39, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 40, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 41, 19))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 41, 8))
|
|
|
|
foo(x: T);
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 39, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 40, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 41, 19))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 42, 8))
|
|
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 36, 13))
|
|
}
|
|
|
|
interface I3<T extends String> {
|
|
>I3 : Symbol(I3, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 43, 1))
|
|
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 45, 13))
|
|
>String : Symbol(String, Decl(lib.d.ts, 275, 1), Decl(lib.d.ts, 443, 11))
|
|
|
|
(x: 'a');
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 46, 5))
|
|
|
|
(x: string);
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 47, 5))
|
|
|
|
(x: T);
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 48, 5))
|
|
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 45, 13))
|
|
|
|
foo(x: 'a');
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 48, 11), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 49, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 50, 19))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 49, 8))
|
|
|
|
foo(x: string);
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 48, 11), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 49, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 50, 19))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 50, 8))
|
|
|
|
foo(x: T);
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 48, 11), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 49, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 50, 19))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 51, 8))
|
|
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 45, 13))
|
|
}
|
|
|
|
var a: {
|
|
>a : Symbol(a, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 54, 3))
|
|
|
|
(x: string);
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 55, 5))
|
|
|
|
(x: 'a');
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 56, 5))
|
|
|
|
(x: number);
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 57, 5))
|
|
|
|
foo(x: string);
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 57, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 58, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 59, 16))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 58, 8))
|
|
|
|
foo(x: 'a');
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 57, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 58, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 59, 16))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 59, 8))
|
|
|
|
foo(x: number);
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 57, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 58, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 59, 16))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 60, 8))
|
|
}
|
|
|
|
var a2: {
|
|
>a2 : Symbol(a2, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 63, 3))
|
|
|
|
(x: 'a');
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 64, 5))
|
|
|
|
(x: string);
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 65, 5))
|
|
|
|
<T>(x: T);
|
|
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 66, 5))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 66, 8))
|
|
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 66, 5))
|
|
|
|
foo(x: string);
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 66, 14), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 67, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 68, 16))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 67, 8))
|
|
|
|
foo(x: 'a');
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 66, 14), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 67, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 68, 16))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 68, 8))
|
|
|
|
foo<T>(x: T);
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 66, 14), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 67, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 68, 16))
|
|
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 69, 8))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 69, 11))
|
|
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 69, 8))
|
|
}
|
|
|
|
var a3: {
|
|
>a3 : Symbol(a3, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 72, 3))
|
|
|
|
(x: 'a');
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 73, 5))
|
|
|
|
<T>(x: T);
|
|
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 74, 5))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 74, 8))
|
|
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 74, 5))
|
|
|
|
(x: string);
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 75, 5))
|
|
|
|
foo(x: string);
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 75, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 76, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 77, 16))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 76, 8))
|
|
|
|
foo(x: 'a');
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 75, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 76, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 77, 16))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 77, 8))
|
|
|
|
foo<T extends String>(x: T);
|
|
>foo : Symbol(foo, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 75, 16), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 76, 19), Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 77, 16))
|
|
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 78, 8))
|
|
>String : Symbol(String, Decl(lib.d.ts, 275, 1), Decl(lib.d.ts, 443, 11))
|
|
>x : Symbol(x, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 78, 26))
|
|
>T : Symbol(T, Decl(specializedSignatureIsSubtypeOfNonSpecializedSignature.ts, 78, 8))
|
|
}
|
|
|