| 
					
				 | 
			
			
				@@ -3,6 +3,7 @@ package metla 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	"bytes" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	"fmt" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	"log" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 ) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 type tokenType uint8 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -60,6 +61,7 @@ func (s tError) Error() string { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 func parseBytes(src []byte, alias string) (res []byte, err error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	log.Println("parse bytes") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	var rb bytes.Buffer 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	lp, lastPos, lastLine := lineParser{src: src}, 0, 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -70,7 +72,11 @@ func parseBytes(src []byte, alias string) (res []byte, err error) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 				offset = 1 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			rb.Write([]byte("flush('")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-			rb.Write(bytes.ReplaceAll(bytes.ReplaceAll(lp.Block(lastPos, offset), []byte("'"), []byte("\\'")), []byte("\n"), []byte("\\n"))) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			bl := lp.Block(lastPos, offset) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			rpl := bytes.ReplaceAll(bl, []byte("'"), []byte("\\'")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			rpl = bytes.ReplaceAll(rpl, []byte{13}, []byte("")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			rpl = bytes.ReplaceAll(rpl, []byte("\n"), []byte("\\n")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			rb.Write(rpl) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			rb.Write([]byte("');")) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 			lastPos, lastLine = lp.Pos(), lp.Line() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 		} 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -148,10 +154,12 @@ func (s *lineParser) Next() bool { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	return false 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-func (s *lineParser) Block(start int, offsetRight int) []byte { return s.src[start : s.pos-offsetRight] } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-func (s *lineParser) Line() int                               { return s.line } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-func (s *lineParser) Pos() int                                { return s.pos } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-func (s *lineParser) Val() byte                               { return s.src[s.pos] } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func (s *lineParser) Block(start int, offsetRight int) []byte { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	return s.src[start : s.pos-offsetRight] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func (s *lineParser) Line() int { return s.line } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func (s *lineParser) Pos() int  { return s.pos } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func (s *lineParser) Val() byte { return s.src[s.pos] } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 func (s *lineParser) FindNext(val byte) bool { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	for { 
			 |