U Ã;rcPã@s UdZddlmZddlmZded<Gdd„dƒZddlmZd Ze ed <eZ e ed <ee e fed <Gd d„de ƒZ dZeGdd„deƒZddlmZedefƒZedƒZGdd„dƒZGdd„deƒZGdd„de ƒZGdd„dedZd%e dœd d!„Zd"d#„Zd$S)&zw The module for testing variable annotations. Empty lines above are for good reason (testing for correct line numbers) é)ÚOptional©Úwrapsééc@s"eZdZUdZdZeded<dS)ÚCéNÚy)Ú__name__Ú __module__Ú __qualname__Úxr rÚ__annotations__©rrú%/usr/lib/python3.8/test/ann_module.pyr s r)ÚTuplerr r Úfc@s"eZdZUded<eZeed<dS)ÚMé{Z123ÚoN)r r r rÚobjectrÚtyperrrrrs rTc@s&eZdZUdZeed<dZeed<dS)ÚDÚhiÚjZbyeÚkN)r r r rÚstrrrrrrrrs  r)Ú new_classÚHÚJc@s"eZdZUdZeed<dd„ZdS)ÚFrÚzcCsdS©Nr)Úselfr rrrÚ__init__$sz F.__init__N)r r r r!Úintrr$rrrrr "s  r cseZdZ‡fdd„Z‡ZS)ÚYcstt|ƒ d¡dS)Nr)Úsuperr r$)r#©Ú __class__rrr$(sz Y.__init__)r r r r$Ú __classcell__rrr(rr&'sr&cseZdZ‡fdd„Z‡ZS)ÚMetacstƒ ||||¡Sr")r'Ú__new__)ÚmetaÚnameÚbasesÚ namespacer(rrr,,sz Meta.__new__)r r r r,r*rrr(rr++sr+c@s&eZdZUdZeed<dZeed<dS)ÚSZ somethingr zsomething elser N)r r r r rrr rrrrr1/s  r1)Ú metaclassé )r cCsttdœdd„}|ƒdS)N)r cSsd}dS)NZyesr)r r rrrÚbar4szfoo..bar)ZListr)r r4rrrÚfoo3sr5cstˆƒ‡fdd„ƒ}|S)Ncs ˆ||ŽSr"r)ÚargsÚkwargs©ÚfuncrrÚwrapper9szdec..wrapperr)r9r:rr8rÚdec8sr;N)r3)Ú__doc__ÚtypingrÚ functoolsrrrrr r%r rrrZparsÚboolrÚtypesrZh_classZj_classr r&r+r1r5r;rrrrÚs(