def __init__(self): BlockModel.__init__(self) # Appearance self.help = "Realiza a negação lógica de uma imagem. " + \ "Corresponde à negativa da imagem." self.label = "Not" self.color = "10:180:10:150" self.language = "c" self.framework = "opencv" self.ports = [{ "type": "mosaicode_lib_c_opencv.extensions.ports.image", "name": "input_image", "conn_type": "Input", "label": "Input Image" }, { "type": "mosaicode_lib_c_opencv.extensions.ports.image", "name": "output_image", "conn_type": "Output", "label": "Output Image" }] self.group = "Arithmetic and Logical Operations" self.codes["declaration"] = \ "Mat $port[input_image]$;\n" + \ "Mat $port[output_image]$;\n" self.codes["execution"] = \ 'if(!$port[input_image]$.empty()){\n' + \ 'bitwise_not($port[input_image]$, $port[output_image]$);\n' + \ '}\n' self.codes["deallocation"] = \ "$port[input_image]$.release();\n" + \ "$port[output_image]$.release();\n"
def __init__(self): BlockModel.__init__(self) self.language = "c" self.extension = "sound" self.help = "Allpass" self.label = "Allpass" self.color = "50:150:250:150" self.ports = [ {"type":"mosaicode_lib_c_sound.extensions.ports.sound", "name":"input0", "conn_type":"Input", "label":"Sound Value"}, {"type":"mosaicode_lib_c_base.extensions.ports.integer", "name":"order", "conn_type":"Input", "label":"Order"}, {"type":"mosaicode_lib_c_base.extensions.ports.float", "name":"slope", "conn_type":"Input", "label":"Slope"}, {"type":"mosaicode_lib_c_base.extensions.ports.float", "name":"cutOff", "conn_type":"Input", "label":"CuttOff"}, {"type":"mosaicode_lib_c_sound.extensions.ports.sound", "name":"output0", "conn_type":"Output", "label":"Sound Value"}] self.properties = [{"name": "order", "label": "Order", "type": MOSAICODE_COMBO, "values": ["1","2"], "value": "2"}, {"name": "slope", "label": "Slope", "type": MOSAICODE_FLOAT, "lower": -2147483648, "upper": 2147483647, "step": 1, "value": 0}, {"name": "cuttOff", "label": "CuttOff", "type": MOSAICODE_FLOAT, "lower": -2147483648, "upper": 2147483647, "step": 1, "value": 0}] self.group = "Audio Filters" self.codes["function_declaration"] = "" self.codes["declaration"] = "mscsound_biquad_t *$label$_$id$;\n" self.codes["function"] = "" self.codes["execution"] = "$label$_$id$->process(&$label$_$id$);\n" self.codes["setup"] = "$label$_$id$ = mscsound_create_biquad(" + \ "\"allpass\", $prop[order]$, FRAMES_PER_BUFFER);\n" + \ "$label$_$id$->sampleRate = SAMPLE_RATE;\n" + \ "$label$_$id$->slope = $prop[slope]$;\n" + \ "$label$_$id$->cutOff = $prop[cuttOff]$;\n"
def __init__(self): BlockModel.__init__(self) self.language = "c" self.extension = "sound" self.help = "Sounds Subtraction" self.label = "SoundsSub" self.color = "50:150:250:150" self.ports = [{"type":"mosaicode_lib_c_sound.extensions.ports.sound", "name":"input0", "conn_type":"Input", "label":"Sound Value"}, {"type":"mosaicode_lib_c_sound.extensions.ports.sound", "name":"input1", "conn_type":"Input", "label":"Sound Value"}, {"type":"mosaicode_lib_c_sound.extensions.ports.sound", "name":"output0", "conn_type":"Output", "label":"Sound Value"}] self.properties = [] self.group = "Audio Math" self.codes["function_declaration"] = "" self.codes["declaration"] = "mscsound_audiomath_t *$label$_$id$;\n" self.codes["function"] = "" self.codes["execution"] = "$label$_$id$->process(&$label$_$id$);\n" self.codes["setup"] = "$label$_$id$ = mscsound_create_audiomath(" + \ "FRAMES_PER_BUFFER, mscsound_sub_2freq);\n"
def __init__(self): BlockModel.__init__(self) self.language = "c" self.framework = "opengl" self.help = "Not to declare" self.label = "Dodecahedron" self.color = "150:150:250:150" self.group = "3D Shapes" self.ports = [{ "type": "mosaicode_lib_c_opengl.extensions.ports.flow", "label": "Flow", "conn_type": "Input", "name": "flow" }, { "type": "mosaicode_lib_c_opengl.extensions.ports.flow", "label": "Flow", "conn_type": "Output", "name": "flow" }, { "type": "mosaicode_lib_c_opengl.extensions.ports.color", "label": "Color", "conn_type": "Input", "name": "color" }] self.codes["function"] = """ void mosaicgraph_draw_dodecahedron(){ glColor3f(0.2f,0.2f,0.2); glutSolidDodecahedron(); } """ self.codes["call"] = """
def __init__(self): BlockModel.__init__(self) self.language = "c" self.framework = "opengl" self.help = "Not to declare" self.label = "Add Float" self.color = "50:50:50:150" self.group = "Math" self.ports = [{"type":"mosaicode_lib_c_opengl.extensions.ports.float", "label":"Float", "conn_type":"Input", "name":"input1"}, {"type":"mosaicode_lib_c_opengl.extensions.ports.float", "label":"Float", "conn_type":"Input", "name":"input2"}, {"type":"mosaicode_lib_c_opengl.extensions.ports.float", "label":"Result", "conn_type":"Output", "name":"result"} ] self.properties = [] self.codes["global"] = """
def __init__(self): BlockModel.__init__(self) self.language = "javascript" self.extension = "webaudio" self.help = "Date" self.label = "Date" self.color = "150:10:20:150" self.group = "Input Device" self.ports = [ {"type":"mosaicode_lib_javascript_webaudio.extensions.ports.float", "label":"Day", "conn_type":"Output", "name":"day"}, {"type":"mosaicode_lib_javascript_webaudio.extensions.ports.float", "label":"Month", "conn_type":"Output", "name":"month"}, {"type":"mosaicode_lib_javascript_webaudio.extensions.ports.float", "label":"Year", "conn_type":"Output", "name":"year"}, {"type":"mosaicode_lib_javascript_webaudio.extensions.ports.float", "label":"Generate", "conn_type":"Input", "name":"generate"} ] self.properties = [] self.codes["declaration"] = """
def __init__(self, diagram, block): """ This method is the constuctor. """ GooCanvas.CanvasGroup.__init__(self) BlockModel.__init__(self, block) self.diagram = diagram self.remember_x = 0 self.remember_y = 0 self.widgets = {} self.focus = False self.has_flow = False self.is_selected = False self.is_collapsed = False self.width = 112 self.connect("button-press-event", self.__on_button_press) self.connect("motion-notify-event", self.__on_motion_notify) self.connect("enter-notify-event", self.__on_enter_notify) self.connect("leave-notify-event", self.__on_leave_notify) self.move(int(float(self.x)), int(float(self.y))) self.height = self.__calculate_height() self.__draw_rect() self.__draw_label() self.__draw_ports() self.__draw_icon() self.update_flow()
def __init__(self): BlockModel.__init__(self) self.language = "javascript" self.framework = "webaudio" self.help = "Delay" self.label = "Delay" self.color = "150:150:250:150" self.ports = [{"type":"mosaicode_lib_javascript_webaudio.extensions.ports.sound", "label":"Input", "conn_type":"Input", "name":"input"}, {"type":"mosaicode_lib_javascript_webaudio.extensions.ports.sound", "label":"Output", "conn_type":"Output", "name":"output"} ] self.group = "Sound" self.properties = [{"name": "time", "label": "Time", "type": MOSAICODE_FLOAT, "lower": 0, "upper": 10000, "step": 1, "value": 1 } ] self.codes["declaration"] = """
def __init__(self): BlockModel.__init__(self) # Appearance self.language = "c" self.framework = "opencv" self.help = "Creates new literal value (Double)." self.label = "New Double" self.color = "50:50:200:150" self.ports = [{ "type": "mosaicode_lib_c_opencv.extensions.ports.double", "name": "double", "label": "Double", "conn_type": "Output" }] self.group = "Basic Data Type" self.properties = [{ "name": "value", "label": "Value", "type": MOSAICODE_FLOAT, "lower": 0, "upper": 65535, "step": 1 }] # -------------------C/OpenCv code------------------------------------ self.codes["declaration"] = \ """
def __init__(self): BlockModel.__init__(self) self.language = "c" self.extension = "sound" self.help = "MIDI Output" self.label = "MIDI_OUT" self.color = "205:178:95:150" self.ports = [{ "type": "mosaicode_lib_c_sound.extensions.ports.midi", "name": "input", "conn_type": "Input", "label": "MIDI message" }] self.properties = [{ "name": "device", "label": "Device", "type": MOSAICODE_STRING, "value": "" }] self.group = "MIDI" self.codes["declaration"] = \ """ mscsound_midi_t *$label$_$id$; void $port[input]$(snd_seq_event_t *ev){ $label$_$id$->send_event(&$label$_$id$, ev); } """ self.codes["setup"] = \ """
def __init__(self): BlockModel.__init__(self) self.language = "c" self.extension = "base" self.help = "Creates new literal value (Integer)." self.label = "NewInt" self.color = "78:87:130:200" self.ports = [{"type":"mosaicode_lib_c_base.extensions.ports.integer", "name":"interger_value", "label":"Integer value", "conn_type":"Output"}] self.group = "Basic Data Type" self.properties = [{"name": "integer_value", "label":"Integer value", "type": MOSAICODE_INT, "lower": -(sys.maxint - 1), "upper": sys.maxint, "step": 1, "value":0 } ] self.codes["declaration"] = \ """
def __init__(self): BlockModel.__init__(self) self.language = "c" self.framework = "opencv" self.label = "Shi Tomasi Corner Detector" self.color = "50:220:40:150" self.group = "Feature Detection" self.ports = [{ "type": "mosaicode_lib_c_opencv.extensions.ports.image", "name": "input_image", "label": "Input Image", "conn_type": "Input" }, { "type": "mosaicode_lib_c_opencv.extensions.ports.image", "name": "output_image", "label": "Output Image", "conn_type": "Output" }] self.properties = [{ "name": "max_corners", "label": "Max corners", "type": MOSAICODE_INT, "value": 23, "step": 1, "lower": 1 }] # --------------------------- C/OpenCV Code --------------------------- # self.codes["declaration"] = \ """ Mat $port[input_image]$; Mat $port[output_image]$; Mat Mat_tmp_$id$; RNG rng(12345); """ self.codes["execution"] = \ """ if(!$port[input_image]$.empty()){ cvtColor($port[input_image]$, Mat_tmp_$id$, COLOR_BGR2GRAY); $port[output_image]$ = $port[input_image]$.clone(); vector<Point2f> corners; goodFeaturesToTrack(Mat_tmp_$id$, corners, $prop[max_corners]$, 0.01, 10, Mat(), 3, false, 0.04); for(int i = 0; i < corners.size(); i++){ circle($port[output_image]$, corners[i], 5, Scalar(rng.uniform(0,255), rng.uniform(0,255), rng.uniform(0,255)), -1, 8, 0); } } """ self.codes["deallocation"] = \ """ $port[input_image]$.release(); $port[output_image]$.release(); Mat_tmp_$id$.release(); """ # --------------------------------------------------------------------- #
def __init__(self): BlockModel.__init__(self) self.language = "c" self.extension = "sound" self.help = "Devices" self.label = "Devices" self.color = "50:150:250:150" self.ports = [{"type":"mosaicode_lib_c_base.extensions.ports.integer", "name":"input0", "conn_type":"Input", "label":"Integer Value"}, {"type":"mosaicode_lib_c_base.extensions.ports.string", "name":"output1", "conn_type":"Output", "label":"String Value"}] self.group = "General" self.codes["function_declaration"] = "" self.codes["declaration"] = "mscsound_device_list_t *$label$_$id$;\n" +\ "void $port[input0]$(int value);\n" self.codes["function"] = \ """ void $port[input0]$(int value){ if (! value) { } else { $label$_$id$->process(&$label$_$id$); $label$_$id$->show(&$label$_$id$); } } """ self.codes["execution"] = "" self.codes["setup"] = \ """
def __init__(self): BlockModel.__init__(self) self.language = "javascript" self.extension = "webaudio" self.help = "White Noise" self.label = "White Noise" self.color = "50:150:250:150" self.ports = [{"type":"mosaicode_lib_javascript_webaudio.extensions.ports.sound", "label":"Sound", "conn_type":"Output", "name":"sound"} ] self.group = "Sound" self.codes["function"] = """ WhiteNoise = function(context) { var that = this; this.x = 0; // Initial sample number this.context = context; this.node = context.createScriptProcessor(1024, 0, 2); this.node.onaudioprocess = function(e) { that.process(e) }; } WhiteNoise.prototype.process = function(e) { var data_l = e.outputBuffer.getChannelData(0); var data_r = e.outputBuffer.getChannelData(1); for (var i = 0; i < data_l.length; ++i) { // data[i] = Math.sin(this.x++); data_l[i] = (Math.random() * 2) - 1; data_r[i] = (Math.random() * 2) - 1; } } """ self.codes["declaration"] = """
def __init__(self): BlockModel.__init__(self) self.language = "c" self.framework = "opencv" self.help = "Creates new literal value (Int)." self.label = "New Int" self.color = "189:51:164:255" self.ports = [{ "type": "mosaicode_lib_c_opencv.extensions.ports.int", "name": "value", "label": "Value", "conn_type": "Output" }] self.group = "Basic Data Type" self.properties = [{ "name": "integer", "label": "Value", "type": MOSAICODE_INT, "lower": 0, "upper": 65535, "step": 1, "value": 1 }] # -------------------C/OpenCv code------------------------------------ self.codes["declaration"] = \ """ int $port[value]$ = $prop[integer]$; """ # -----------------------------------------------------------------------------
def __init__(self): BlockModel.__init__(self) self.language = "javascript" self.extension = "webaudio" self.help = "Window Title" self.label = "Title" self.color = "50:150:250:150" self.group = "Form" self.ports = [{ "type":"mosaicode_lib_javascript_webaudio.extensions.ports.string", "label":"Value", "conn_type":"Input", "name":"title"} ] self.properties = [{"name": "title", "label": "Value", "type": MOSAICODE_STRING, "value": 'Mosaicode - Document Title' }] self.codes["declaration"] = """ var $port[title]$ = function(value){ window.document.title = value; return 1; } """ self.codes["onload"] = """
def __init__(self): BlockModel.__init__(self) self.language = "javascript" self.framework = "canvas" self.help = "Print value" self.label = "Page" self.color = "50:150:250:150" self.group = "GUI" self.ports = [{ "type": "mosaicode_lib_javascript_webaudio.extensions.ports.float", "name": "width", "conn_type": MOSAICODE_PORT_OUTPUT, "label": "width" }, { "type": "mosaicode_lib_javascript_webaudio.extensions.ports.float", "name": "height", "conn_type": MOSAICODE_PORT_OUTPUT, "label": "height" }] self.codes["onload"] = """ for (var i = 0; i < $port[width]$.length ; i++){ $port[width]$[i](document.body.clientWidth); } for (var i = 0; i < $port[height]$.length ; i++){ $port[height]$[i](document.body.clientHeight); } """ self.codes["declaration"] = """
def __init__(self): BlockModel.__init__(self) self.language = "javascript" self.extension = "webaudio" self.help = "Check" self.label = "Check" self.color = "50:150:250:150" self.group = "Form" self.ports = [{ "type": "mosaicode_lib_javascript_webaudio.extensions.ports.float", "label": "Value", "conn_type": "Output", "name": "value" }, { "type": "mosaicode_lib_javascript_webaudio.extensions.ports.float", "label": "Value", "conn_type": "Input", "name": "invalue" }] self.properties = [{ "name": "value", "label": "Value", "type": MOSAICODE_FLOAT, "value": '0' }, { "name": "label", "label": "Label", "type": MOSAICODE_STRING, "value": "Label" }] self.codes["declaration"] = """ // block_$id$ = $label$ var $port[value]$ = []; var $port[invalue]$ = function(value){ if (value) document.getElementById("block_$id$").checked = true; else document.getElementById("block_$id$").checked = false; return true; }; """ self.codes["execution"] = """ function change_value$id$(e){ value = document.getElementById("block_$id$").checked; for (var i = 0; i < $port[value]$.length ; i++){ if (value) $port[value]$[i](1); else $port[value]$[i](0); } }; """ self.codes["html"] = """
def __init__(self): BlockModel.__init__(self) self.language = "c" self.extension = "base" self.help = "Not" self.label = "Not" self.color = "236:234:89:200" self.ports = [{ "type": "mosaicode_lib_c_base.extensions.ports.integer", "name": "input0", "label": "Integer value", "conn_type": "Input" }, { "type": "mosaicode_lib_c_base.extensions.ports.integer", "name": "result", "label": "Integer value", "conn_type": "Output" }] self.group = "Logical Operation" self.properties = [{ "name": "input0", "label": "Integer value", "type": MOSAICODE_INT, "lower": 0, "upper": 1, "step": 1, "value": 0 }] self.codes["declaration"] = \ """
def __init__(self): BlockModel.__init__(self) self.language = "javascript" self.framework = "webaudio" self.help = "Creates RGB Color" self.label = "RGB" self.color = "50:150:0:150" self.ports = [{ "type": "mosaicode_lib_javascript_webaudio.extensions.ports.float", "name": "r", "conn_type": "Input", "label": "Red" }, { "type": "mosaicode_lib_javascript_webaudio.extensions.ports.float", "name": "g", "conn_type": "Input", "label": "Green" }, { "type": "mosaicode_lib_javascript_webaudio.extensions.ports.float", "name": "b", "conn_type": "Input", "label": "Blue" }, { "type": "mosaicode_lib_javascript_webaudio.extensions.ports.color", "name": "result", "conn_type": "Output", "label": "Color" }] self.group = "Conversion" self.properties = [] self.codes["declaration"] = """
def __init__(self): BlockModel.__init__(self) self.language = "javascript" self.framework = "webaudio" self.help = "Strip Midi" self.label = "Strip Midi" self.color = "250:250:0:150" self.group = "MIDI" self.ports = [{ "type": "mosaicode_lib_javascript_webaudio.extensions.ports.midi", "name": "midi_value", "conn_type": "Input", "label": "Midi Value" }, { "type": "mosaicode_lib_javascript_webaudio.extensions.ports.float", "label": "Note", "conn_type": "Output", "name": "note" }, { "type": "mosaicode_lib_javascript_webaudio.extensions.ports.float", "label": "Velocity", "conn_type": "Output", "name": "velocity" }] self.codes["declaration"] = """
def __init__(self): BlockModel.__init__(self) self.language = "c" self.framework = "opencv" # Appearance self.help = "Extracts the input image size." self.label = "Get Size" self.color = "250:20:30:150" self.ports = [{ "type": "mosaicode_lib_c_opencv.extensions.ports.image", "name": "input_image", "label": "Input Image", "conn_type": "Input" }, { "type": "mosaicode_lib_c_opencv.extensions.ports.rect", "name": "rect", "label": "Output Rect", "conn_type": "Output" }] self.group = "Experimental" # ------------------------------C/OpenCv code-------------------------- self.codes["declaration"] = \ 'Mat $port[input_image]$;\n' self.codes["execution"] = \ '\nif($port[input_image]$)\n{\n' + \ ' \t$port[rect]$ = Rect( 0, 0, ' + \ '$port[input_image]$.cols, $port[input_image]$.rows);\n' + \ '}\n'
def __init__(self): BlockModel.__init__(self) self.language = "javascript" self.extension = "webaudio" self.help = "Add Float" self.label = "Add Float" self.color = "200:200:25:150" self.ports = [{ "type": "mosaicode_lib_javascript_webaudio.extensions.ports.float", "name": "first_number", "conn_type": "Input", "label": "First Number" }, { "type": "mosaicode_lib_javascript_webaudio.extensions.ports.float", "name": "second_number", "conn_type": "Input", "label": "Second Number" }, { "type": "mosaicode_lib_javascript_webaudio.extensions.ports.float", "label": "Result", "conn_type": "Output", "name": "result" }] self.group = "Arithmetics" self.codes["declaration"] = """
def __init__(self): BlockModel.__init__(self) self.language = "c" self.framework = "opencv" self.label = "Live Mode" self.color = "50:100:200:150" self.group = "Image Source" self.ports = [{ "type": "mosaicode_lib_c_opencv.extensions.ports.image", "name": "output_image", "label": "Output Image", "conn_type": "Output" }] # --------------------------- C/OpenCV Code --------------------------- # self.codes["declaration"] = \ """ Mat $port[output_image]$; VideoCapture capture$id$(0); """ self.codes["execution"] = \ """ if(!capture$id$.isOpened()) return -1; capture$id$ >> $port[output_image]$; """ self.codes["deallocation"] = \ """
def __init__(self): BlockModel.__init__(self) self.language = "c" self.extension = "base" self.help = "tan value" self.label = "tan" self.color = "103:118:54:230" self.ports = [{ "type": "mosaicode_lib_c_base.extensions.ports.float", "name": "input0", "label": "Float value", "conn_type": "Input" }, { "type": "mosaicode_lib_c_base.extensions.ports.float", "name": "result", "label": "Float value", "conn_type": "Output" }] self.properties = [{ "name": "input0", "label": "Float value", "type": MOSAICODE_FLOAT, "lower": -(sys.float_info.max - 1), "upper": sys.float_info.max, "step": 1, "value": 0 }] self.group = "Arithmetic" self.codes["declaration"] = \ """
def __init__(self): BlockModel.__init__(self) self.language = "c" self.framework = "opengl" self.help = "Not to declare" self.label = "Keyboard" self.color = "0:148:0:150" self.group = "I/O" self.ports = [{ "type": "mosaicode_lib_c_opengl.extensions.ports.float", "label": "Value", "conn_type": "Output", "name": "value" }] self.properties = [{ "name": "caractere", "label": "caractere", "type": MOSAICODE_STRING, "value": "a" }] self.codes["global"] = """ std::vector<void (*)(float)> $port[value]$; //keyboard output float bool$id$ = 0; """ self.codes["keyboard"] = """
def __init__(self): BlockModel.__init__(self) self.language = "javascript" self.framework = "webaudio" self.help = " Bandpass" self.label = "Bandpass" self.color = "50:150:250:150" self.group = "Audio Filter" self.ports = [{ "type": "mosaicode_lib_javascript_webaudio.extensions.ports.sound", "name": "sound_input", "conn_type": "Input", "label": "Sound" }, { "type": "mosaicode_lib_javascript_webaudio.extensions.ports.float", "name": "freq", "conn_type": "Input", "label": "Frequency" }, { "type": "mosaicode_lib_javascript_webaudio.extensions.ports.float", "name": "q", "conn_type": "Input", "label": "Q" }, { "type": "mosaicode_lib_javascript_webaudio.extensions.ports.sound", "label": "Sound", "conn_type": "Output", "name": "output" }] self.codes["declaration"] = """
def __init__(self, diagram, block): """ This method is the constuctor. """ GooCanvas.CanvasGroup.__init__(self) BlockModel.__init__(self, block) self.diagram = diagram self.data_dir = System.DATA_DIR self.remember_x = 0 self.remember_y = 0 self.widgets = {} self.focus = False self.has_flow = False self.width = WIDTH_DEFAULT self.build() self.connect("button-press-event", self.__on_button_press) self.connect("motion-notify-event", self.__on_motion_notify) self.connect("enter-notify-event", self.__on_enter_notify) self.connect("leave-notify-event", self.__on_leave_notify) self.move(int(float(self.x)), int(float(self.y)))
def __init__(self): BlockModel.__init__(self) self.language = "javascript" self.framework = "webaudio" self.help = "Change Background color" self.label = "Background" self.color = "50:150:0:150" self.ports = [{ "type": "mosaicode_lib_javascript_webaudio.extensions.ports.color", "name": "rgb", "conn_type": "Input", "label": "RGB COlor" }] self.group = "Interface" self.properties = [{ "name": "color", "label": "Color", "value": "#F00", "format": "FF00FF", "type": MOSAICODE_COLOR }] self.codes["declaration"] = """ var $port[rgb]$ = function(value){ document.body.style.backgroundColor = value; return true; }; """ self.codes["onload"] = """
def __init__(self): BlockModel.__init__(self) self.language = "javascript" self.extension = "webaudio" self.help = "" self.label = "Float" self.color = "150:50:150:150" self.group = "Types" self.ports = [{ "type": "mosaicode_lib_javascript_webaudio.extensions.ports.float", "conn_type": "Output", "name": "float_value", "label": "Value" }] self.properties = [{ "name": "float_value", "label": "Value", "value": "0", "type": MOSAICODE_FLOAT }] self.codes["onload"] = """ load_float$id$(); """ self.codes["declaration"] = """