#NEWLINE# def __new__( cls , * args ) : #NEWLINE# #INDENT# if ( len ( args ) == 5 ) : #NEWLINE# #INDENT# args = [ ( args [ 0 ] , args [ 1 ] ) , ( args [ 2 ] , args [ 3 ] ) , args [ 4 ] ] #NEWLINE# #UNINDENT# if ( len ( args ) != 3 ) : #NEWLINE# #INDENT# raise TypeError ( "args must eiter be as, as', bs, bs', z or as, bs, z" ) #NEWLINE# #UNINDENT# def tr( p ) : #NEWLINE# #INDENT# if ( len ( p ) != 2 ) : #NEWLINE# #INDENT# raise TypeError ( 'wrong argument' ) #NEWLINE# #UNINDENT# return TupleArg ( _prep_tuple ( p [ 0 ] ) , _prep_tuple ( p [ 1 ] ) ) #NEWLINE# #UNINDENT# return Function . __new__ ( cls , tr ( args [ 0 ] ) , tr ( args [ 1 ] ) , args [ 2 ] )