// AUTOGENERATED FILE: easyjson marshaler/unmarshalers.

package layertree

import (
	json "encoding/json"
	dom "github.com/knq/chromedp/cdp/dom"
	easyjson "github.com/mailru/easyjson"
	jlexer "github.com/mailru/easyjson/jlexer"
	jwriter "github.com/mailru/easyjson/jwriter"
)

// suppress unused package warning
var (
	_ *json.RawMessage
	_ *jlexer.Lexer
	_ *jwriter.Writer
	_ easyjson.Marshaler
)

func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree(in *jlexer.Lexer, out *SnapshotCommandLogReturns) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "commandLog":
			if in.IsNull() {
				in.Skip()
				out.CommandLog = nil
			} else {
				in.Delim('[')
				if out.CommandLog == nil {
					if !in.IsDelim(']') {
						out.CommandLog = make([]easyjson.RawMessage, 0, 2)
					} else {
						out.CommandLog = []easyjson.RawMessage{}
					}
				} else {
					out.CommandLog = (out.CommandLog)[:0]
				}
				for !in.IsDelim(']') {
					var v1 easyjson.RawMessage
					(v1).UnmarshalEasyJSON(in)
					out.CommandLog = append(out.CommandLog, v1)
					in.WantComma()
				}
				in.Delim(']')
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree(out *jwriter.Writer, in SnapshotCommandLogReturns) {
	out.RawByte('{')
	first := true
	_ = first
	if len(in.CommandLog) != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"commandLog\":")
		if in.CommandLog == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
			out.RawString("null")
		} else {
			out.RawByte('[')
			for v2, v3 := range in.CommandLog {
				if v2 > 0 {
					out.RawByte(',')
				}
				(v3).MarshalEasyJSON(out)
			}
			out.RawByte(']')
		}
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v SnapshotCommandLogReturns) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v SnapshotCommandLogReturns) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *SnapshotCommandLogReturns) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *SnapshotCommandLogReturns) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree1(in *jlexer.Lexer, out *SnapshotCommandLogParams) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "snapshotId":
			out.SnapshotID = SnapshotID(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree1(out *jwriter.Writer, in SnapshotCommandLogParams) {
	out.RawByte('{')
	first := true
	_ = first
	if !first {
		out.RawByte(',')
	}
	first = false
	out.RawString("\"snapshotId\":")
	out.String(string(in.SnapshotID))
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v SnapshotCommandLogParams) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree1(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v SnapshotCommandLogParams) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree1(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *SnapshotCommandLogParams) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree1(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *SnapshotCommandLogParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree1(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree2(in *jlexer.Lexer, out *ScrollRect) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "rect":
			if in.IsNull() {
				in.Skip()
				out.Rect = nil
			} else {
				if out.Rect == nil {
					out.Rect = new(dom.Rect)
				}
				(*out.Rect).UnmarshalEasyJSON(in)
			}
		case "type":
			(out.Type).UnmarshalEasyJSON(in)
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree2(out *jwriter.Writer, in ScrollRect) {
	out.RawByte('{')
	first := true
	_ = first
	if in.Rect != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"rect\":")
		if in.Rect == nil {
			out.RawString("null")
		} else {
			(*in.Rect).MarshalEasyJSON(out)
		}
	}
	if in.Type != "" {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"type\":")
		(in.Type).MarshalEasyJSON(out)
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v ScrollRect) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree2(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v ScrollRect) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree2(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *ScrollRect) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree2(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *ScrollRect) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree2(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree3(in *jlexer.Lexer, out *ReplaySnapshotReturns) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "dataURL":
			out.DataURL = string(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree3(out *jwriter.Writer, in ReplaySnapshotReturns) {
	out.RawByte('{')
	first := true
	_ = first
	if in.DataURL != "" {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"dataURL\":")
		out.String(string(in.DataURL))
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v ReplaySnapshotReturns) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree3(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v ReplaySnapshotReturns) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree3(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *ReplaySnapshotReturns) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree3(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *ReplaySnapshotReturns) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree3(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree4(in *jlexer.Lexer, out *ReplaySnapshotParams) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "snapshotId":
			out.SnapshotID = SnapshotID(in.String())
		case "fromStep":
			out.FromStep = int64(in.Int64())
		case "toStep":
			out.ToStep = int64(in.Int64())
		case "scale":
			out.Scale = float64(in.Float64())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree4(out *jwriter.Writer, in ReplaySnapshotParams) {
	out.RawByte('{')
	first := true
	_ = first
	if !first {
		out.RawByte(',')
	}
	first = false
	out.RawString("\"snapshotId\":")
	out.String(string(in.SnapshotID))
	if in.FromStep != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"fromStep\":")
		out.Int64(int64(in.FromStep))
	}
	if in.ToStep != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"toStep\":")
		out.Int64(int64(in.ToStep))
	}
	if in.Scale != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"scale\":")
		out.Float64(float64(in.Scale))
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v ReplaySnapshotParams) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree4(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v ReplaySnapshotParams) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree4(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *ReplaySnapshotParams) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree4(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *ReplaySnapshotParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree4(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree5(in *jlexer.Lexer, out *ReleaseSnapshotParams) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "snapshotId":
			out.SnapshotID = SnapshotID(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree5(out *jwriter.Writer, in ReleaseSnapshotParams) {
	out.RawByte('{')
	first := true
	_ = first
	if !first {
		out.RawByte(',')
	}
	first = false
	out.RawString("\"snapshotId\":")
	out.String(string(in.SnapshotID))
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v ReleaseSnapshotParams) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree5(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v ReleaseSnapshotParams) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree5(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *ReleaseSnapshotParams) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree5(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *ReleaseSnapshotParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree5(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree6(in *jlexer.Lexer, out *ProfileSnapshotReturns) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "timings":
			if in.IsNull() {
				in.Skip()
				out.Timings = nil
			} else {
				in.Delim('[')
				if out.Timings == nil {
					if !in.IsDelim(']') {
						out.Timings = make([]PaintProfile, 0, 2)
					} else {
						out.Timings = []PaintProfile{}
					}
				} else {
					out.Timings = (out.Timings)[:0]
				}
				for !in.IsDelim(']') {
					var v4 PaintProfile
					if in.IsNull() {
						in.Skip()
						v4 = nil
					} else {
						in.Delim('[')
						if v4 == nil {
							if !in.IsDelim(']') {
								v4 = make(PaintProfile, 0, 8)
							} else {
								v4 = PaintProfile{}
							}
						} else {
							v4 = (v4)[:0]
						}
						for !in.IsDelim(']') {
							var v5 float64
							v5 = float64(in.Float64())
							v4 = append(v4, v5)
							in.WantComma()
						}
						in.Delim(']')
					}
					out.Timings = append(out.Timings, v4)
					in.WantComma()
				}
				in.Delim(']')
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree6(out *jwriter.Writer, in ProfileSnapshotReturns) {
	out.RawByte('{')
	first := true
	_ = first
	if len(in.Timings) != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"timings\":")
		if in.Timings == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
			out.RawString("null")
		} else {
			out.RawByte('[')
			for v6, v7 := range in.Timings {
				if v6 > 0 {
					out.RawByte(',')
				}
				if v7 == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
					out.RawString("null")
				} else {
					out.RawByte('[')
					for v8, v9 := range v7 {
						if v8 > 0 {
							out.RawByte(',')
						}
						out.Float64(float64(v9))
					}
					out.RawByte(']')
				}
			}
			out.RawByte(']')
		}
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v ProfileSnapshotReturns) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree6(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v ProfileSnapshotReturns) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree6(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *ProfileSnapshotReturns) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree6(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *ProfileSnapshotReturns) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree6(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree7(in *jlexer.Lexer, out *ProfileSnapshotParams) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "snapshotId":
			out.SnapshotID = SnapshotID(in.String())
		case "minRepeatCount":
			out.MinRepeatCount = int64(in.Int64())
		case "minDuration":
			out.MinDuration = float64(in.Float64())
		case "clipRect":
			if in.IsNull() {
				in.Skip()
				out.ClipRect = nil
			} else {
				if out.ClipRect == nil {
					out.ClipRect = new(dom.Rect)
				}
				(*out.ClipRect).UnmarshalEasyJSON(in)
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree7(out *jwriter.Writer, in ProfileSnapshotParams) {
	out.RawByte('{')
	first := true
	_ = first
	if !first {
		out.RawByte(',')
	}
	first = false
	out.RawString("\"snapshotId\":")
	out.String(string(in.SnapshotID))
	if in.MinRepeatCount != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"minRepeatCount\":")
		out.Int64(int64(in.MinRepeatCount))
	}
	if in.MinDuration != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"minDuration\":")
		out.Float64(float64(in.MinDuration))
	}
	if in.ClipRect != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"clipRect\":")
		if in.ClipRect == nil {
			out.RawString("null")
		} else {
			(*in.ClipRect).MarshalEasyJSON(out)
		}
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v ProfileSnapshotParams) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree7(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v ProfileSnapshotParams) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree7(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *ProfileSnapshotParams) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree7(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *ProfileSnapshotParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree7(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree8(in *jlexer.Lexer, out *PictureTile) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "x":
			out.X = float64(in.Float64())
		case "y":
			out.Y = float64(in.Float64())
		case "picture":
			out.Picture = string(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree8(out *jwriter.Writer, in PictureTile) {
	out.RawByte('{')
	first := true
	_ = first
	if in.X != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"x\":")
		out.Float64(float64(in.X))
	}
	if in.Y != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"y\":")
		out.Float64(float64(in.Y))
	}
	if in.Picture != "" {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"picture\":")
		out.String(string(in.Picture))
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v PictureTile) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree8(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v PictureTile) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree8(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *PictureTile) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree8(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *PictureTile) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree8(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree9(in *jlexer.Lexer, out *MakeSnapshotReturns) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "snapshotId":
			out.SnapshotID = SnapshotID(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree9(out *jwriter.Writer, in MakeSnapshotReturns) {
	out.RawByte('{')
	first := true
	_ = first
	if in.SnapshotID != "" {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"snapshotId\":")
		out.String(string(in.SnapshotID))
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v MakeSnapshotReturns) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree9(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v MakeSnapshotReturns) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree9(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *MakeSnapshotReturns) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree9(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *MakeSnapshotReturns) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree9(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree10(in *jlexer.Lexer, out *MakeSnapshotParams) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "layerId":
			out.LayerID = LayerID(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree10(out *jwriter.Writer, in MakeSnapshotParams) {
	out.RawByte('{')
	first := true
	_ = first
	if !first {
		out.RawByte(',')
	}
	first = false
	out.RawString("\"layerId\":")
	out.String(string(in.LayerID))
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v MakeSnapshotParams) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree10(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v MakeSnapshotParams) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree10(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *MakeSnapshotParams) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree10(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *MakeSnapshotParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree10(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree11(in *jlexer.Lexer, out *LoadSnapshotReturns) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "snapshotId":
			out.SnapshotID = SnapshotID(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree11(out *jwriter.Writer, in LoadSnapshotReturns) {
	out.RawByte('{')
	first := true
	_ = first
	if in.SnapshotID != "" {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"snapshotId\":")
		out.String(string(in.SnapshotID))
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v LoadSnapshotReturns) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree11(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v LoadSnapshotReturns) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree11(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *LoadSnapshotReturns) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree11(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *LoadSnapshotReturns) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree11(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree12(in *jlexer.Lexer, out *LoadSnapshotParams) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "tiles":
			if in.IsNull() {
				in.Skip()
				out.Tiles = nil
			} else {
				in.Delim('[')
				if out.Tiles == nil {
					if !in.IsDelim(']') {
						out.Tiles = make([]*PictureTile, 0, 8)
					} else {
						out.Tiles = []*PictureTile{}
					}
				} else {
					out.Tiles = (out.Tiles)[:0]
				}
				for !in.IsDelim(']') {
					var v10 *PictureTile
					if in.IsNull() {
						in.Skip()
						v10 = nil
					} else {
						if v10 == nil {
							v10 = new(PictureTile)
						}
						(*v10).UnmarshalEasyJSON(in)
					}
					out.Tiles = append(out.Tiles, v10)
					in.WantComma()
				}
				in.Delim(']')
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree12(out *jwriter.Writer, in LoadSnapshotParams) {
	out.RawByte('{')
	first := true
	_ = first
	if !first {
		out.RawByte(',')
	}
	first = false
	out.RawString("\"tiles\":")
	if in.Tiles == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
		out.RawString("null")
	} else {
		out.RawByte('[')
		for v11, v12 := range in.Tiles {
			if v11 > 0 {
				out.RawByte(',')
			}
			if v12 == nil {
				out.RawString("null")
			} else {
				(*v12).MarshalEasyJSON(out)
			}
		}
		out.RawByte(']')
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v LoadSnapshotParams) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree12(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v LoadSnapshotParams) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree12(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *LoadSnapshotParams) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree12(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *LoadSnapshotParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree12(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree13(in *jlexer.Lexer, out *Layer) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "layerId":
			out.LayerID = LayerID(in.String())
		case "parentLayerId":
			out.ParentLayerID = LayerID(in.String())
		case "backendNodeId":
			(out.BackendNodeID).UnmarshalEasyJSON(in)
		case "offsetX":
			out.OffsetX = float64(in.Float64())
		case "offsetY":
			out.OffsetY = float64(in.Float64())
		case "width":
			out.Width = float64(in.Float64())
		case "height":
			out.Height = float64(in.Float64())
		case "transform":
			if in.IsNull() {
				in.Skip()
				out.Transform = nil
			} else {
				in.Delim('[')
				if out.Transform == nil {
					if !in.IsDelim(']') {
						out.Transform = make([]float64, 0, 8)
					} else {
						out.Transform = []float64{}
					}
				} else {
					out.Transform = (out.Transform)[:0]
				}
				for !in.IsDelim(']') {
					var v13 float64
					v13 = float64(in.Float64())
					out.Transform = append(out.Transform, v13)
					in.WantComma()
				}
				in.Delim(']')
			}
		case "anchorX":
			out.AnchorX = float64(in.Float64())
		case "anchorY":
			out.AnchorY = float64(in.Float64())
		case "anchorZ":
			out.AnchorZ = float64(in.Float64())
		case "paintCount":
			out.PaintCount = int64(in.Int64())
		case "drawsContent":
			out.DrawsContent = bool(in.Bool())
		case "invisible":
			out.Invisible = bool(in.Bool())
		case "scrollRects":
			if in.IsNull() {
				in.Skip()
				out.ScrollRects = nil
			} else {
				in.Delim('[')
				if out.ScrollRects == nil {
					if !in.IsDelim(']') {
						out.ScrollRects = make([]*ScrollRect, 0, 8)
					} else {
						out.ScrollRects = []*ScrollRect{}
					}
				} else {
					out.ScrollRects = (out.ScrollRects)[:0]
				}
				for !in.IsDelim(']') {
					var v14 *ScrollRect
					if in.IsNull() {
						in.Skip()
						v14 = nil
					} else {
						if v14 == nil {
							v14 = new(ScrollRect)
						}
						(*v14).UnmarshalEasyJSON(in)
					}
					out.ScrollRects = append(out.ScrollRects, v14)
					in.WantComma()
				}
				in.Delim(']')
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree13(out *jwriter.Writer, in Layer) {
	out.RawByte('{')
	first := true
	_ = first
	if in.LayerID != "" {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"layerId\":")
		out.String(string(in.LayerID))
	}
	if in.ParentLayerID != "" {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"parentLayerId\":")
		out.String(string(in.ParentLayerID))
	}
	if in.BackendNodeID != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"backendNodeId\":")
		out.Int64(int64(in.BackendNodeID))
	}
	if in.OffsetX != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"offsetX\":")
		out.Float64(float64(in.OffsetX))
	}
	if in.OffsetY != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"offsetY\":")
		out.Float64(float64(in.OffsetY))
	}
	if in.Width != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"width\":")
		out.Float64(float64(in.Width))
	}
	if in.Height != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"height\":")
		out.Float64(float64(in.Height))
	}
	if len(in.Transform) != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"transform\":")
		if in.Transform == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
			out.RawString("null")
		} else {
			out.RawByte('[')
			for v15, v16 := range in.Transform {
				if v15 > 0 {
					out.RawByte(',')
				}
				out.Float64(float64(v16))
			}
			out.RawByte(']')
		}
	}
	if in.AnchorX != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"anchorX\":")
		out.Float64(float64(in.AnchorX))
	}
	if in.AnchorY != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"anchorY\":")
		out.Float64(float64(in.AnchorY))
	}
	if in.AnchorZ != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"anchorZ\":")
		out.Float64(float64(in.AnchorZ))
	}
	if in.PaintCount != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"paintCount\":")
		out.Int64(int64(in.PaintCount))
	}
	if in.DrawsContent {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"drawsContent\":")
		out.Bool(bool(in.DrawsContent))
	}
	if in.Invisible {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"invisible\":")
		out.Bool(bool(in.Invisible))
	}
	if len(in.ScrollRects) != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"scrollRects\":")
		if in.ScrollRects == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
			out.RawString("null")
		} else {
			out.RawByte('[')
			for v17, v18 := range in.ScrollRects {
				if v17 > 0 {
					out.RawByte(',')
				}
				if v18 == nil {
					out.RawString("null")
				} else {
					(*v18).MarshalEasyJSON(out)
				}
			}
			out.RawByte(']')
		}
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v Layer) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree13(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v Layer) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree13(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *Layer) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree13(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *Layer) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree13(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree14(in *jlexer.Lexer, out *EventLayerTreeDidChange) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "layers":
			if in.IsNull() {
				in.Skip()
				out.Layers = nil
			} else {
				in.Delim('[')
				if out.Layers == nil {
					if !in.IsDelim(']') {
						out.Layers = make([]*Layer, 0, 8)
					} else {
						out.Layers = []*Layer{}
					}
				} else {
					out.Layers = (out.Layers)[:0]
				}
				for !in.IsDelim(']') {
					var v19 *Layer
					if in.IsNull() {
						in.Skip()
						v19 = nil
					} else {
						if v19 == nil {
							v19 = new(Layer)
						}
						(*v19).UnmarshalEasyJSON(in)
					}
					out.Layers = append(out.Layers, v19)
					in.WantComma()
				}
				in.Delim(']')
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree14(out *jwriter.Writer, in EventLayerTreeDidChange) {
	out.RawByte('{')
	first := true
	_ = first
	if len(in.Layers) != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"layers\":")
		if in.Layers == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
			out.RawString("null")
		} else {
			out.RawByte('[')
			for v20, v21 := range in.Layers {
				if v20 > 0 {
					out.RawByte(',')
				}
				if v21 == nil {
					out.RawString("null")
				} else {
					(*v21).MarshalEasyJSON(out)
				}
			}
			out.RawByte(']')
		}
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v EventLayerTreeDidChange) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree14(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v EventLayerTreeDidChange) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree14(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *EventLayerTreeDidChange) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree14(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EventLayerTreeDidChange) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree14(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree15(in *jlexer.Lexer, out *EventLayerPainted) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "layerId":
			out.LayerID = LayerID(in.String())
		case "clip":
			if in.IsNull() {
				in.Skip()
				out.Clip = nil
			} else {
				if out.Clip == nil {
					out.Clip = new(dom.Rect)
				}
				(*out.Clip).UnmarshalEasyJSON(in)
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree15(out *jwriter.Writer, in EventLayerPainted) {
	out.RawByte('{')
	first := true
	_ = first
	if in.LayerID != "" {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"layerId\":")
		out.String(string(in.LayerID))
	}
	if in.Clip != nil {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"clip\":")
		if in.Clip == nil {
			out.RawString("null")
		} else {
			(*in.Clip).MarshalEasyJSON(out)
		}
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v EventLayerPainted) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree15(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v EventLayerPainted) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree15(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *EventLayerPainted) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree15(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EventLayerPainted) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree15(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree16(in *jlexer.Lexer, out *EnableParams) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree16(out *jwriter.Writer, in EnableParams) {
	out.RawByte('{')
	first := true
	_ = first
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v EnableParams) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree16(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v EnableParams) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree16(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *EnableParams) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree16(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *EnableParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree16(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree17(in *jlexer.Lexer, out *DisableParams) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree17(out *jwriter.Writer, in DisableParams) {
	out.RawByte('{')
	first := true
	_ = first
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v DisableParams) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree17(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v DisableParams) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree17(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *DisableParams) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree17(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *DisableParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree17(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree18(in *jlexer.Lexer, out *CompositingReasonsReturns) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "compositingReasons":
			if in.IsNull() {
				in.Skip()
				out.CompositingReasons = nil
			} else {
				in.Delim('[')
				if out.CompositingReasons == nil {
					if !in.IsDelim(']') {
						out.CompositingReasons = make([]string, 0, 4)
					} else {
						out.CompositingReasons = []string{}
					}
				} else {
					out.CompositingReasons = (out.CompositingReasons)[:0]
				}
				for !in.IsDelim(']') {
					var v22 string
					v22 = string(in.String())
					out.CompositingReasons = append(out.CompositingReasons, v22)
					in.WantComma()
				}
				in.Delim(']')
			}
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree18(out *jwriter.Writer, in CompositingReasonsReturns) {
	out.RawByte('{')
	first := true
	_ = first
	if len(in.CompositingReasons) != 0 {
		if !first {
			out.RawByte(',')
		}
		first = false
		out.RawString("\"compositingReasons\":")
		if in.CompositingReasons == nil && (out.Flags&jwriter.NilSliceAsEmpty) == 0 {
			out.RawString("null")
		} else {
			out.RawByte('[')
			for v23, v24 := range in.CompositingReasons {
				if v23 > 0 {
					out.RawByte(',')
				}
				out.String(string(v24))
			}
			out.RawByte(']')
		}
	}
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v CompositingReasonsReturns) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree18(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v CompositingReasonsReturns) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree18(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *CompositingReasonsReturns) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree18(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *CompositingReasonsReturns) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree18(l, v)
}
func easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree19(in *jlexer.Lexer, out *CompositingReasonsParams) {
	isTopLevel := in.IsStart()
	if in.IsNull() {
		if isTopLevel {
			in.Consumed()
		}
		in.Skip()
		return
	}
	in.Delim('{')
	for !in.IsDelim('}') {
		key := in.UnsafeString()
		in.WantColon()
		if in.IsNull() {
			in.Skip()
			in.WantComma()
			continue
		}
		switch key {
		case "layerId":
			out.LayerID = LayerID(in.String())
		default:
			in.SkipRecursive()
		}
		in.WantComma()
	}
	in.Delim('}')
	if isTopLevel {
		in.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree19(out *jwriter.Writer, in CompositingReasonsParams) {
	out.RawByte('{')
	first := true
	_ = first
	if !first {
		out.RawByte(',')
	}
	first = false
	out.RawString("\"layerId\":")
	out.String(string(in.LayerID))
	out.RawByte('}')
}

// MarshalJSON supports json.Marshaler interface
func (v CompositingReasonsParams) MarshalJSON() ([]byte, error) {
	w := jwriter.Writer{}
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree19(&w, v)
	return w.Buffer.BuildBytes(), w.Error
}

// MarshalEasyJSON supports easyjson.Marshaler interface
func (v CompositingReasonsParams) MarshalEasyJSON(w *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComKnqChromedpCdpLayertree19(w, v)
}

// UnmarshalJSON supports json.Unmarshaler interface
func (v *CompositingReasonsParams) UnmarshalJSON(data []byte) error {
	r := jlexer.Lexer{Data: data}
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree19(&r, v)
	return r.Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func (v *CompositingReasonsParams) UnmarshalEasyJSON(l *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComKnqChromedpCdpLayertree19(l, v)
}