func _create(_data) if(isdef(Mode)) return(('qCompress(' && ByteArray && ',' && Level && ')')@QByteArray) else return(('qUncompress(' && ByteArray && ')')@QByteArray) end end func doZLib(_data) if(linked(Result)) lng.decl_loc_var(zlib, 'QByteArray') println(zlib + ' = ', _create(_data), ';') event(onZLib, zlib) else event(onZLib, _create(_data)) end end func ByteArray(_data) if(linked(doZLib)) return(zlib) else return(_create(_data)) end end