// Code generated by easyjson for marshaling/unmarshaling. DO NOT EDIT.

package serviceworker

import (
	json 
	target 
	easyjson 
	jlexer 
	jwriter 
)

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

func easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker( *jlexer.Lexer,  *Version) {
	 := .IsStart()
	if .IsNull() {
		if  {
			.Consumed()
		}
		.Skip()
		return
	}
	.Delim('{')
	for !.IsDelim('}') {
		 := .UnsafeFieldName(false)
		.WantColon()
		if .IsNull() {
			.Skip()
			.WantComma()
			continue
		}
		switch  {
		case "versionId":
			.VersionID = string(.String())
		case "registrationId":
			.RegistrationID = RegistrationID(.String())
		case "scriptURL":
			.ScriptURL = string(.String())
		case "runningStatus":
			(.RunningStatus).UnmarshalEasyJSON()
		case "status":
			(.Status).UnmarshalEasyJSON()
		case "scriptLastModified":
			.ScriptLastModified = float64(.Float64())
		case "scriptResponseTime":
			.ScriptResponseTime = float64(.Float64())
		case "controlledClients":
			if .IsNull() {
				.Skip()
				.ControlledClients = nil
			} else {
				.Delim('[')
				if .ControlledClients == nil {
					if !.IsDelim(']') {
						.ControlledClients = make([]target.ID, 0, 4)
					} else {
						.ControlledClients = []target.ID{}
					}
				} else {
					.ControlledClients = (.ControlledClients)[:0]
				}
				for !.IsDelim(']') {
					var  target.ID
					 = target.ID(.String())
					.ControlledClients = append(.ControlledClients, )
					.WantComma()
				}
				.Delim(']')
			}
		case "targetId":
			.TargetID = target.ID(.String())
		default:
			.SkipRecursive()
		}
		.WantComma()
	}
	.Delim('}')
	if  {
		.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker( *jwriter.Writer,  Version) {
	.RawByte('{')
	 := true
	_ = 
	{
		const  string = ",\"versionId\":"
		.RawString([1:])
		.String(string(.VersionID))
	}
	{
		const  string = ",\"registrationId\":"
		.RawString()
		.String(string(.RegistrationID))
	}
	{
		const  string = ",\"scriptURL\":"
		.RawString()
		.String(string(.ScriptURL))
	}
	{
		const  string = ",\"runningStatus\":"
		.RawString()
		(.RunningStatus).MarshalEasyJSON()
	}
	{
		const  string = ",\"status\":"
		.RawString()
		(.Status).MarshalEasyJSON()
	}
	if .ScriptLastModified != 0 {
		const  string = ",\"scriptLastModified\":"
		.RawString()
		.Float64(float64(.ScriptLastModified))
	}
	if .ScriptResponseTime != 0 {
		const  string = ",\"scriptResponseTime\":"
		.RawString()
		.Float64(float64(.ScriptResponseTime))
	}
	if len(.ControlledClients) != 0 {
		const  string = ",\"controlledClients\":"
		.RawString()
		{
			.RawByte('[')
			for ,  := range .ControlledClients {
				if  > 0 {
					.RawByte(',')
				}
				.String(string())
			}
			.RawByte(']')
		}
	}
	if .TargetID != "" {
		const  string = ",\"targetId\":"
		.RawString()
		.String(string(.TargetID))
	}
	.RawByte('}')
}

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

// MarshalEasyJSON supports easyjson.Marshaler interface
func ( Version) ( *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker(, )
}

// UnmarshalJSON supports json.Unmarshaler interface
func ( *Version) ( []byte) error {
	 := jlexer.Lexer{Data: }
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker(&, )
	return .Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func ( *Version) ( *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker(, )
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker1( *jlexer.Lexer,  *UpdateRegistrationParams) {
	 := .IsStart()
	if .IsNull() {
		if  {
			.Consumed()
		}
		.Skip()
		return
	}
	.Delim('{')
	for !.IsDelim('}') {
		 := .UnsafeFieldName(false)
		.WantColon()
		if .IsNull() {
			.Skip()
			.WantComma()
			continue
		}
		switch  {
		case "scopeURL":
			.ScopeURL = string(.String())
		default:
			.SkipRecursive()
		}
		.WantComma()
	}
	.Delim('}')
	if  {
		.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker1( *jwriter.Writer,  UpdateRegistrationParams) {
	.RawByte('{')
	 := true
	_ = 
	{
		const  string = ",\"scopeURL\":"
		.RawString([1:])
		.String(string(.ScopeURL))
	}
	.RawByte('}')
}

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

// MarshalEasyJSON supports easyjson.Marshaler interface
func ( UpdateRegistrationParams) ( *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker1(, )
}

// UnmarshalJSON supports json.Unmarshaler interface
func ( *UpdateRegistrationParams) ( []byte) error {
	 := jlexer.Lexer{Data: }
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker1(&, )
	return .Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func ( *UpdateRegistrationParams) ( *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker1(, )
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker2( *jlexer.Lexer,  *UnregisterParams) {
	 := .IsStart()
	if .IsNull() {
		if  {
			.Consumed()
		}
		.Skip()
		return
	}
	.Delim('{')
	for !.IsDelim('}') {
		 := .UnsafeFieldName(false)
		.WantColon()
		if .IsNull() {
			.Skip()
			.WantComma()
			continue
		}
		switch  {
		case "scopeURL":
			.ScopeURL = string(.String())
		default:
			.SkipRecursive()
		}
		.WantComma()
	}
	.Delim('}')
	if  {
		.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker2( *jwriter.Writer,  UnregisterParams) {
	.RawByte('{')
	 := true
	_ = 
	{
		const  string = ",\"scopeURL\":"
		.RawString([1:])
		.String(string(.ScopeURL))
	}
	.RawByte('}')
}

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

// MarshalEasyJSON supports easyjson.Marshaler interface
func ( UnregisterParams) ( *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker2(, )
}

// UnmarshalJSON supports json.Unmarshaler interface
func ( *UnregisterParams) ( []byte) error {
	 := jlexer.Lexer{Data: }
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker2(&, )
	return .Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func ( *UnregisterParams) ( *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker2(, )
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker3( *jlexer.Lexer,  *StopWorkerParams) {
	 := .IsStart()
	if .IsNull() {
		if  {
			.Consumed()
		}
		.Skip()
		return
	}
	.Delim('{')
	for !.IsDelim('}') {
		 := .UnsafeFieldName(false)
		.WantColon()
		if .IsNull() {
			.Skip()
			.WantComma()
			continue
		}
		switch  {
		case "versionId":
			.VersionID = string(.String())
		default:
			.SkipRecursive()
		}
		.WantComma()
	}
	.Delim('}')
	if  {
		.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker3( *jwriter.Writer,  StopWorkerParams) {
	.RawByte('{')
	 := true
	_ = 
	{
		const  string = ",\"versionId\":"
		.RawString([1:])
		.String(string(.VersionID))
	}
	.RawByte('}')
}

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

// MarshalEasyJSON supports easyjson.Marshaler interface
func ( StopWorkerParams) ( *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker3(, )
}

// UnmarshalJSON supports json.Unmarshaler interface
func ( *StopWorkerParams) ( []byte) error {
	 := jlexer.Lexer{Data: }
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker3(&, )
	return .Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func ( *StopWorkerParams) ( *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker3(, )
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker4( *jlexer.Lexer,  *StopAllWorkersParams) {
	 := .IsStart()
	if .IsNull() {
		if  {
			.Consumed()
		}
		.Skip()
		return
	}
	.Delim('{')
	for !.IsDelim('}') {
		 := .UnsafeFieldName(false)
		.WantColon()
		if .IsNull() {
			.Skip()
			.WantComma()
			continue
		}
		switch  {
		default:
			.SkipRecursive()
		}
		.WantComma()
	}
	.Delim('}')
	if  {
		.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker4( *jwriter.Writer,  StopAllWorkersParams) {
	.RawByte('{')
	 := true
	_ = 
	.RawByte('}')
}

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

// MarshalEasyJSON supports easyjson.Marshaler interface
func ( StopAllWorkersParams) ( *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker4(, )
}

// UnmarshalJSON supports json.Unmarshaler interface
func ( *StopAllWorkersParams) ( []byte) error {
	 := jlexer.Lexer{Data: }
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker4(&, )
	return .Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func ( *StopAllWorkersParams) ( *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker4(, )
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker5( *jlexer.Lexer,  *StartWorkerParams) {
	 := .IsStart()
	if .IsNull() {
		if  {
			.Consumed()
		}
		.Skip()
		return
	}
	.Delim('{')
	for !.IsDelim('}') {
		 := .UnsafeFieldName(false)
		.WantColon()
		if .IsNull() {
			.Skip()
			.WantComma()
			continue
		}
		switch  {
		case "scopeURL":
			.ScopeURL = string(.String())
		default:
			.SkipRecursive()
		}
		.WantComma()
	}
	.Delim('}')
	if  {
		.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker5( *jwriter.Writer,  StartWorkerParams) {
	.RawByte('{')
	 := true
	_ = 
	{
		const  string = ",\"scopeURL\":"
		.RawString([1:])
		.String(string(.ScopeURL))
	}
	.RawByte('}')
}

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

// MarshalEasyJSON supports easyjson.Marshaler interface
func ( StartWorkerParams) ( *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker5(, )
}

// UnmarshalJSON supports json.Unmarshaler interface
func ( *StartWorkerParams) ( []byte) error {
	 := jlexer.Lexer{Data: }
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker5(&, )
	return .Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func ( *StartWorkerParams) ( *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker5(, )
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker6( *jlexer.Lexer,  *SkipWaitingParams) {
	 := .IsStart()
	if .IsNull() {
		if  {
			.Consumed()
		}
		.Skip()
		return
	}
	.Delim('{')
	for !.IsDelim('}') {
		 := .UnsafeFieldName(false)
		.WantColon()
		if .IsNull() {
			.Skip()
			.WantComma()
			continue
		}
		switch  {
		case "scopeURL":
			.ScopeURL = string(.String())
		default:
			.SkipRecursive()
		}
		.WantComma()
	}
	.Delim('}')
	if  {
		.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker6( *jwriter.Writer,  SkipWaitingParams) {
	.RawByte('{')
	 := true
	_ = 
	{
		const  string = ",\"scopeURL\":"
		.RawString([1:])
		.String(string(.ScopeURL))
	}
	.RawByte('}')
}

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

// MarshalEasyJSON supports easyjson.Marshaler interface
func ( SkipWaitingParams) ( *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker6(, )
}

// UnmarshalJSON supports json.Unmarshaler interface
func ( *SkipWaitingParams) ( []byte) error {
	 := jlexer.Lexer{Data: }
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker6(&, )
	return .Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func ( *SkipWaitingParams) ( *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker6(, )
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker7( *jlexer.Lexer,  *SetForceUpdateOnPageLoadParams) {
	 := .IsStart()
	if .IsNull() {
		if  {
			.Consumed()
		}
		.Skip()
		return
	}
	.Delim('{')
	for !.IsDelim('}') {
		 := .UnsafeFieldName(false)
		.WantColon()
		if .IsNull() {
			.Skip()
			.WantComma()
			continue
		}
		switch  {
		case "forceUpdateOnPageLoad":
			.ForceUpdateOnPageLoad = bool(.Bool())
		default:
			.SkipRecursive()
		}
		.WantComma()
	}
	.Delim('}')
	if  {
		.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker7( *jwriter.Writer,  SetForceUpdateOnPageLoadParams) {
	.RawByte('{')
	 := true
	_ = 
	{
		const  string = ",\"forceUpdateOnPageLoad\":"
		.RawString([1:])
		.Bool(bool(.ForceUpdateOnPageLoad))
	}
	.RawByte('}')
}

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

// MarshalEasyJSON supports easyjson.Marshaler interface
func ( SetForceUpdateOnPageLoadParams) ( *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker7(, )
}

// UnmarshalJSON supports json.Unmarshaler interface
func ( *SetForceUpdateOnPageLoadParams) ( []byte) error {
	 := jlexer.Lexer{Data: }
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker7(&, )
	return .Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func ( *SetForceUpdateOnPageLoadParams) ( *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker7(, )
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker8( *jlexer.Lexer,  *Registration) {
	 := .IsStart()
	if .IsNull() {
		if  {
			.Consumed()
		}
		.Skip()
		return
	}
	.Delim('{')
	for !.IsDelim('}') {
		 := .UnsafeFieldName(false)
		.WantColon()
		if .IsNull() {
			.Skip()
			.WantComma()
			continue
		}
		switch  {
		case "registrationId":
			.RegistrationID = RegistrationID(.String())
		case "scopeURL":
			.ScopeURL = string(.String())
		case "isDeleted":
			.IsDeleted = bool(.Bool())
		default:
			.SkipRecursive()
		}
		.WantComma()
	}
	.Delim('}')
	if  {
		.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker8( *jwriter.Writer,  Registration) {
	.RawByte('{')
	 := true
	_ = 
	{
		const  string = ",\"registrationId\":"
		.RawString([1:])
		.String(string(.RegistrationID))
	}
	{
		const  string = ",\"scopeURL\":"
		.RawString()
		.String(string(.ScopeURL))
	}
	{
		const  string = ",\"isDeleted\":"
		.RawString()
		.Bool(bool(.IsDeleted))
	}
	.RawByte('}')
}

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

// MarshalEasyJSON supports easyjson.Marshaler interface
func ( Registration) ( *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker8(, )
}

// UnmarshalJSON supports json.Unmarshaler interface
func ( *Registration) ( []byte) error {
	 := jlexer.Lexer{Data: }
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker8(&, )
	return .Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func ( *Registration) ( *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker8(, )
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker9( *jlexer.Lexer,  *InspectWorkerParams) {
	 := .IsStart()
	if .IsNull() {
		if  {
			.Consumed()
		}
		.Skip()
		return
	}
	.Delim('{')
	for !.IsDelim('}') {
		 := .UnsafeFieldName(false)
		.WantColon()
		if .IsNull() {
			.Skip()
			.WantComma()
			continue
		}
		switch  {
		case "versionId":
			.VersionID = string(.String())
		default:
			.SkipRecursive()
		}
		.WantComma()
	}
	.Delim('}')
	if  {
		.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker9( *jwriter.Writer,  InspectWorkerParams) {
	.RawByte('{')
	 := true
	_ = 
	{
		const  string = ",\"versionId\":"
		.RawString([1:])
		.String(string(.VersionID))
	}
	.RawByte('}')
}

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

// MarshalEasyJSON supports easyjson.Marshaler interface
func ( InspectWorkerParams) ( *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker9(, )
}

// UnmarshalJSON supports json.Unmarshaler interface
func ( *InspectWorkerParams) ( []byte) error {
	 := jlexer.Lexer{Data: }
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker9(&, )
	return .Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func ( *InspectWorkerParams) ( *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker9(, )
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker10( *jlexer.Lexer,  *EventWorkerVersionUpdated) {
	 := .IsStart()
	if .IsNull() {
		if  {
			.Consumed()
		}
		.Skip()
		return
	}
	.Delim('{')
	for !.IsDelim('}') {
		 := .UnsafeFieldName(false)
		.WantColon()
		if .IsNull() {
			.Skip()
			.WantComma()
			continue
		}
		switch  {
		case "versions":
			if .IsNull() {
				.Skip()
				.Versions = nil
			} else {
				.Delim('[')
				if .Versions == nil {
					if !.IsDelim(']') {
						.Versions = make([]*Version, 0, 8)
					} else {
						.Versions = []*Version{}
					}
				} else {
					.Versions = (.Versions)[:0]
				}
				for !.IsDelim(']') {
					var  *Version
					if .IsNull() {
						.Skip()
						 = nil
					} else {
						if  == nil {
							 = new(Version)
						}
						(*).UnmarshalEasyJSON()
					}
					.Versions = append(.Versions, )
					.WantComma()
				}
				.Delim(']')
			}
		default:
			.SkipRecursive()
		}
		.WantComma()
	}
	.Delim('}')
	if  {
		.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker10( *jwriter.Writer,  EventWorkerVersionUpdated) {
	.RawByte('{')
	 := true
	_ = 
	{
		const  string = ",\"versions\":"
		.RawString([1:])
		if .Versions == nil && (.Flags&jwriter.NilSliceAsEmpty) == 0 {
			.RawString("null")
		} else {
			.RawByte('[')
			for ,  := range .Versions {
				if  > 0 {
					.RawByte(',')
				}
				if  == nil {
					.RawString("null")
				} else {
					(*).MarshalEasyJSON()
				}
			}
			.RawByte(']')
		}
	}
	.RawByte('}')
}

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

// MarshalEasyJSON supports easyjson.Marshaler interface
func ( EventWorkerVersionUpdated) ( *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker10(, )
}

// UnmarshalJSON supports json.Unmarshaler interface
func ( *EventWorkerVersionUpdated) ( []byte) error {
	 := jlexer.Lexer{Data: }
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker10(&, )
	return .Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func ( *EventWorkerVersionUpdated) ( *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker10(, )
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker11( *jlexer.Lexer,  *EventWorkerRegistrationUpdated) {
	 := .IsStart()
	if .IsNull() {
		if  {
			.Consumed()
		}
		.Skip()
		return
	}
	.Delim('{')
	for !.IsDelim('}') {
		 := .UnsafeFieldName(false)
		.WantColon()
		if .IsNull() {
			.Skip()
			.WantComma()
			continue
		}
		switch  {
		case "registrations":
			if .IsNull() {
				.Skip()
				.Registrations = nil
			} else {
				.Delim('[')
				if .Registrations == nil {
					if !.IsDelim(']') {
						.Registrations = make([]*Registration, 0, 8)
					} else {
						.Registrations = []*Registration{}
					}
				} else {
					.Registrations = (.Registrations)[:0]
				}
				for !.IsDelim(']') {
					var  *Registration
					if .IsNull() {
						.Skip()
						 = nil
					} else {
						if  == nil {
							 = new(Registration)
						}
						(*).UnmarshalEasyJSON()
					}
					.Registrations = append(.Registrations, )
					.WantComma()
				}
				.Delim(']')
			}
		default:
			.SkipRecursive()
		}
		.WantComma()
	}
	.Delim('}')
	if  {
		.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker11( *jwriter.Writer,  EventWorkerRegistrationUpdated) {
	.RawByte('{')
	 := true
	_ = 
	{
		const  string = ",\"registrations\":"
		.RawString([1:])
		if .Registrations == nil && (.Flags&jwriter.NilSliceAsEmpty) == 0 {
			.RawString("null")
		} else {
			.RawByte('[')
			for ,  := range .Registrations {
				if  > 0 {
					.RawByte(',')
				}
				if  == nil {
					.RawString("null")
				} else {
					(*).MarshalEasyJSON()
				}
			}
			.RawByte(']')
		}
	}
	.RawByte('}')
}

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

// MarshalEasyJSON supports easyjson.Marshaler interface
func ( EventWorkerRegistrationUpdated) ( *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker11(, )
}

// UnmarshalJSON supports json.Unmarshaler interface
func ( *EventWorkerRegistrationUpdated) ( []byte) error {
	 := jlexer.Lexer{Data: }
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker11(&, )
	return .Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func ( *EventWorkerRegistrationUpdated) ( *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker11(, )
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker12( *jlexer.Lexer,  *EventWorkerErrorReported) {
	 := .IsStart()
	if .IsNull() {
		if  {
			.Consumed()
		}
		.Skip()
		return
	}
	.Delim('{')
	for !.IsDelim('}') {
		 := .UnsafeFieldName(false)
		.WantColon()
		if .IsNull() {
			.Skip()
			.WantComma()
			continue
		}
		switch  {
		case "errorMessage":
			if .IsNull() {
				.Skip()
				.ErrorMessage = nil
			} else {
				if .ErrorMessage == nil {
					.ErrorMessage = new(ErrorMessage)
				}
				(*.ErrorMessage).UnmarshalEasyJSON()
			}
		default:
			.SkipRecursive()
		}
		.WantComma()
	}
	.Delim('}')
	if  {
		.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker12( *jwriter.Writer,  EventWorkerErrorReported) {
	.RawByte('{')
	 := true
	_ = 
	{
		const  string = ",\"errorMessage\":"
		.RawString([1:])
		if .ErrorMessage == nil {
			.RawString("null")
		} else {
			(*.ErrorMessage).MarshalEasyJSON()
		}
	}
	.RawByte('}')
}

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

// MarshalEasyJSON supports easyjson.Marshaler interface
func ( EventWorkerErrorReported) ( *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker12(, )
}

// UnmarshalJSON supports json.Unmarshaler interface
func ( *EventWorkerErrorReported) ( []byte) error {
	 := jlexer.Lexer{Data: }
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker12(&, )
	return .Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func ( *EventWorkerErrorReported) ( *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker12(, )
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker13( *jlexer.Lexer,  *ErrorMessage) {
	 := .IsStart()
	if .IsNull() {
		if  {
			.Consumed()
		}
		.Skip()
		return
	}
	.Delim('{')
	for !.IsDelim('}') {
		 := .UnsafeFieldName(false)
		.WantColon()
		if .IsNull() {
			.Skip()
			.WantComma()
			continue
		}
		switch  {
		case "errorMessage":
			.ErrorMessage = string(.String())
		case "registrationId":
			.RegistrationID = RegistrationID(.String())
		case "versionId":
			.VersionID = string(.String())
		case "sourceURL":
			.SourceURL = string(.String())
		case "lineNumber":
			.LineNumber = int64(.Int64())
		case "columnNumber":
			.ColumnNumber = int64(.Int64())
		default:
			.SkipRecursive()
		}
		.WantComma()
	}
	.Delim('}')
	if  {
		.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker13( *jwriter.Writer,  ErrorMessage) {
	.RawByte('{')
	 := true
	_ = 
	{
		const  string = ",\"errorMessage\":"
		.RawString([1:])
		.String(string(.ErrorMessage))
	}
	{
		const  string = ",\"registrationId\":"
		.RawString()
		.String(string(.RegistrationID))
	}
	{
		const  string = ",\"versionId\":"
		.RawString()
		.String(string(.VersionID))
	}
	{
		const  string = ",\"sourceURL\":"
		.RawString()
		.String(string(.SourceURL))
	}
	{
		const  string = ",\"lineNumber\":"
		.RawString()
		.Int64(int64(.LineNumber))
	}
	{
		const  string = ",\"columnNumber\":"
		.RawString()
		.Int64(int64(.ColumnNumber))
	}
	.RawByte('}')
}

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

// MarshalEasyJSON supports easyjson.Marshaler interface
func ( ErrorMessage) ( *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker13(, )
}

// UnmarshalJSON supports json.Unmarshaler interface
func ( *ErrorMessage) ( []byte) error {
	 := jlexer.Lexer{Data: }
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker13(&, )
	return .Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func ( *ErrorMessage) ( *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker13(, )
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker14( *jlexer.Lexer,  *EnableParams) {
	 := .IsStart()
	if .IsNull() {
		if  {
			.Consumed()
		}
		.Skip()
		return
	}
	.Delim('{')
	for !.IsDelim('}') {
		 := .UnsafeFieldName(false)
		.WantColon()
		if .IsNull() {
			.Skip()
			.WantComma()
			continue
		}
		switch  {
		default:
			.SkipRecursive()
		}
		.WantComma()
	}
	.Delim('}')
	if  {
		.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker14( *jwriter.Writer,  EnableParams) {
	.RawByte('{')
	 := true
	_ = 
	.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func ( *EnableParams) ( *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker14(, )
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker15( *jlexer.Lexer,  *DispatchSyncEventParams) {
	 := .IsStart()
	if .IsNull() {
		if  {
			.Consumed()
		}
		.Skip()
		return
	}
	.Delim('{')
	for !.IsDelim('}') {
		 := .UnsafeFieldName(false)
		.WantColon()
		if .IsNull() {
			.Skip()
			.WantComma()
			continue
		}
		switch  {
		case "origin":
			.Origin = string(.String())
		case "registrationId":
			.RegistrationID = RegistrationID(.String())
		case "tag":
			.Tag = string(.String())
		case "lastChance":
			.LastChance = bool(.Bool())
		default:
			.SkipRecursive()
		}
		.WantComma()
	}
	.Delim('}')
	if  {
		.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker15( *jwriter.Writer,  DispatchSyncEventParams) {
	.RawByte('{')
	 := true
	_ = 
	{
		const  string = ",\"origin\":"
		.RawString([1:])
		.String(string(.Origin))
	}
	{
		const  string = ",\"registrationId\":"
		.RawString()
		.String(string(.RegistrationID))
	}
	{
		const  string = ",\"tag\":"
		.RawString()
		.String(string(.Tag))
	}
	{
		const  string = ",\"lastChance\":"
		.RawString()
		.Bool(bool(.LastChance))
	}
	.RawByte('}')
}

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

// MarshalEasyJSON supports easyjson.Marshaler interface
func ( DispatchSyncEventParams) ( *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker15(, )
}

// UnmarshalJSON supports json.Unmarshaler interface
func ( *DispatchSyncEventParams) ( []byte) error {
	 := jlexer.Lexer{Data: }
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker15(&, )
	return .Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func ( *DispatchSyncEventParams) ( *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker15(, )
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker16( *jlexer.Lexer,  *DispatchPeriodicSyncEventParams) {
	 := .IsStart()
	if .IsNull() {
		if  {
			.Consumed()
		}
		.Skip()
		return
	}
	.Delim('{')
	for !.IsDelim('}') {
		 := .UnsafeFieldName(false)
		.WantColon()
		if .IsNull() {
			.Skip()
			.WantComma()
			continue
		}
		switch  {
		case "origin":
			.Origin = string(.String())
		case "registrationId":
			.RegistrationID = RegistrationID(.String())
		case "tag":
			.Tag = string(.String())
		default:
			.SkipRecursive()
		}
		.WantComma()
	}
	.Delim('}')
	if  {
		.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker16( *jwriter.Writer,  DispatchPeriodicSyncEventParams) {
	.RawByte('{')
	 := true
	_ = 
	{
		const  string = ",\"origin\":"
		.RawString([1:])
		.String(string(.Origin))
	}
	{
		const  string = ",\"registrationId\":"
		.RawString()
		.String(string(.RegistrationID))
	}
	{
		const  string = ",\"tag\":"
		.RawString()
		.String(string(.Tag))
	}
	.RawByte('}')
}

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

// MarshalEasyJSON supports easyjson.Marshaler interface
func ( DispatchPeriodicSyncEventParams) ( *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker16(, )
}

// UnmarshalJSON supports json.Unmarshaler interface
func ( *DispatchPeriodicSyncEventParams) ( []byte) error {
	 := jlexer.Lexer{Data: }
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker16(&, )
	return .Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func ( *DispatchPeriodicSyncEventParams) ( *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker16(, )
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker17( *jlexer.Lexer,  *DisableParams) {
	 := .IsStart()
	if .IsNull() {
		if  {
			.Consumed()
		}
		.Skip()
		return
	}
	.Delim('{')
	for !.IsDelim('}') {
		 := .UnsafeFieldName(false)
		.WantColon()
		if .IsNull() {
			.Skip()
			.WantComma()
			continue
		}
		switch  {
		default:
			.SkipRecursive()
		}
		.WantComma()
	}
	.Delim('}')
	if  {
		.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker17( *jwriter.Writer,  DisableParams) {
	.RawByte('{')
	 := true
	_ = 
	.RawByte('}')
}

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

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

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

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func ( *DisableParams) ( *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker17(, )
}
func easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker18( *jlexer.Lexer,  *DeliverPushMessageParams) {
	 := .IsStart()
	if .IsNull() {
		if  {
			.Consumed()
		}
		.Skip()
		return
	}
	.Delim('{')
	for !.IsDelim('}') {
		 := .UnsafeFieldName(false)
		.WantColon()
		if .IsNull() {
			.Skip()
			.WantComma()
			continue
		}
		switch  {
		case "origin":
			.Origin = string(.String())
		case "registrationId":
			.RegistrationID = RegistrationID(.String())
		case "data":
			.Data = string(.String())
		default:
			.SkipRecursive()
		}
		.WantComma()
	}
	.Delim('}')
	if  {
		.Consumed()
	}
}
func easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker18( *jwriter.Writer,  DeliverPushMessageParams) {
	.RawByte('{')
	 := true
	_ = 
	{
		const  string = ",\"origin\":"
		.RawString([1:])
		.String(string(.Origin))
	}
	{
		const  string = ",\"registrationId\":"
		.RawString()
		.String(string(.RegistrationID))
	}
	{
		const  string = ",\"data\":"
		.RawString()
		.String(string(.Data))
	}
	.RawByte('}')
}

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

// MarshalEasyJSON supports easyjson.Marshaler interface
func ( DeliverPushMessageParams) ( *jwriter.Writer) {
	easyjsonC5a4559bEncodeGithubComChromedpCdprotoServiceworker18(, )
}

// UnmarshalJSON supports json.Unmarshaler interface
func ( *DeliverPushMessageParams) ( []byte) error {
	 := jlexer.Lexer{Data: }
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker18(&, )
	return .Error()
}

// UnmarshalEasyJSON supports easyjson.Unmarshaler interface
func ( *DeliverPushMessageParams) ( *jlexer.Lexer) {
	easyjsonC5a4559bDecodeGithubComChromedpCdprotoServiceworker18(, )
}