/***************************** GlobalLibrary.in *****************************/ component literal( n, litValue ) { out result[ n ] }; component counter( name, x, y, base, n ) { out result[ n ] }; component input( name, x, y, base, n ) { out result[ n ] }; component { in opd[ n ] } output( name, x, y, base, n ); component { in read, write, init, visible, opd[ n ] } memory( name, x, y, base, n, initValue ) { out result[ n ] }; component { in opd[ n ] } or( n ) { out result }; component { in opd[ n ] } and( n ) { out result }; component { in opd[ n ] } xor( n ) { out result }; component { in opd[ n ] } not( n ) { out result[ n ] }; component { in opd[ n ] } join( n ) { out result[ n ] }; component { in opd[ m ] } decode( m ) { out result[ 1 << m ] }; component { in index[ m ], alternative[ ( 1 << m ) * n ] } select( m, n ) { out result[ n ] }; path clear, set; literal( 1, 0 ) { out clear }; literal( 1, 1 ) { out set };