code: func Masks(w http.ResponseWriter, req *http.Request) {
  	arg := func(s string) int { x, _ := strconv.Atoi(req.FormValue(s)); return x }
  	v := arg("v")
  	scale := arg("scale")
  	if scale == 0 {
  		scale = 8
  	}
  	font := req.FormValue("font")
  	pt := arg("pt")
  	var mm []image.Image
  	for m := 0; m < 8; m++ {
  		mm = append(mm, makeMask(req, font, pt, v, m, scale))
  	}
  	dx := mm[0].Bounds().Dx()
  	dy := mm[0].Bounds().Dy()
  
  	sep := arg("sep")
  	if sep == 0 {
  		sep = 10
  	}
  	c := image.NewRGBA(image.Rect(0, 0, (dx+sep)*4-sep, (dy+sep)*2-sep))
  	for m := 0; m < 8; m++ {
  		x := (m % 4) * (dx + sep)
  		y := (m / 4) * (dy + sep)
  		draw.Draw(c, c.Bounds().Add(image.Pt(x, y)), mm[m], image.ZP, draw.Src)
  	}
  
  	w.Header().Set("Cache-Control", "public, max-age=3600")
  	w.Write(pngEncode(c))
  }
docs: // Masks handles a request for multiple QR masks.