// Code generated by protoc-gen-gogo.
// source: request.proto
// DO NOT EDIT!

/*
	Package data is a generated protocol buffer package.

	It is generated from these files:
		request.proto

	It has these top-level messages:
		Request
*/
package data

import proto "github.com/gogo/protobuf/proto"
import fmt "fmt"
import math "math"

import io "io"

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.GoGoProtoPackageIsVersion2 // please upgrade the proto package

type Request struct {
	Url            string `protobuf:"bytes,100,opt,name=Url,proto3" json:"Url,omitempty"`
	Reverse        string `protobuf:"bytes,200,opt,name=Reverse,proto3" json:"Reverse,omitempty"`
	IpSrc          string `protobuf:"bytes,300,opt,name=IpSrc,proto3" json:"IpSrc,omitempty"`
	IpDst          string `protobuf:"bytes,400,opt,name=IpDst,proto3" json:"IpDst,omitempty"`
	PortSrc        uint32 `protobuf:"varint,500,opt,name=PortSrc,proto3" json:"PortSrc,omitempty"`
	PortDst        uint32 `protobuf:"varint,600,opt,name=PortDst,proto3" json:"PortDst,omitempty"`
	TcpSeq         uint32 `protobuf:"varint,700,opt,name=TcpSeq,proto3" json:"TcpSeq,omitempty"`
	CreatedAt      int64  `protobuf:"varint,800,opt,name=CreatedAt,proto3" json:"CreatedAt,omitempty"`
	XForwardedFor  string `protobuf:"bytes,900,opt,name=XForwardedFor,proto3" json:"XForwardedFor,omitempty"`
	XRealIP        string `protobuf:"bytes,1000,opt,name=XRealIP,proto3" json:"XRealIP,omitempty"`
	Method         string `protobuf:"bytes,1100,opt,name=Method,proto3" json:"Method,omitempty"`
	Origin         string `protobuf:"bytes,1200,opt,name=Origin,proto3" json:"Origin,omitempty"`
	Referer        string `protobuf:"bytes,1300,opt,name=Referer,proto3" json:"Referer,omitempty"`
	UserAgent      string `protobuf:"bytes,1400,opt,name=UserAgent,proto3" json:"UserAgent,omitempty"`
	Source         string `protobuf:"bytes,1500,opt,name=Source,proto3" json:"Source,omitempty"`
	Host           string `protobuf:"bytes,1600,opt,name=Host,proto3" json:"Host,omitempty"`
	Protocol       string `protobuf:"bytes,1700,opt,name=Protocol,proto3" json:"Protocol,omitempty"`
	Connection     string `protobuf:"bytes,1800,opt,name=Connection,proto3" json:"Connection,omitempty"`
	XRequestedWith string `protobuf:"bytes,1900,opt,name=XRequestedWith,proto3" json:"XRequestedWith,omitempty"`
	AcceptEncoding string `protobuf:"bytes,2000,opt,name=AcceptEncoding,proto3" json:"AcceptEncoding,omitempty"`
	AcceptLanguage string `protobuf:"bytes,2100,opt,name=AcceptLanguage,proto3" json:"AcceptLanguage,omitempty"`
	Accept         string `protobuf:"bytes,2200,opt,name=Accept,proto3" json:"Accept,omitempty"`
	Cookie         string `protobuf:"bytes,2300,opt,name=Cookie,proto3" json:"Cookie,omitempty"`
	Via            string `protobuf:"bytes,2400,opt,name=Via,proto3" json:"Via,omitempty"`
}

func (m *Request) Reset()                    { *m = Request{} }
func (m *Request) String() string            { return proto.CompactTextString(m) }
func (*Request) ProtoMessage()               {}
func (*Request) Descriptor() ([]byte, []int) { return fileDescriptorRequest, []int{0} }

func init() {
	proto.RegisterType((*Request)(nil), "data.Request")
}
func (m *Request) Marshal() (dAtA []byte, err error) {
	size := m.Size()
	dAtA = make([]byte, size)
	n, err := m.MarshalTo(dAtA)
	if err != nil {
		return nil, err
	}
	return dAtA[:n], nil
}

func (m *Request) MarshalTo(dAtA []byte) (int, error) {
	var i int
	_ = i
	var l int
	_ = l
	if len(m.Url) > 0 {
		dAtA[i] = 0xa2
		i++
		dAtA[i] = 0x6
		i++
		i = encodeVarintRequest(dAtA, i, uint64(len(m.Url)))
		i += copy(dAtA[i:], m.Url)
	}
	if len(m.Reverse) > 0 {
		dAtA[i] = 0xc2
		i++
		dAtA[i] = 0xc
		i++
		i = encodeVarintRequest(dAtA, i, uint64(len(m.Reverse)))
		i += copy(dAtA[i:], m.Reverse)
	}
	if len(m.IpSrc) > 0 {
		dAtA[i] = 0xe2
		i++
		dAtA[i] = 0x12
		i++
		i = encodeVarintRequest(dAtA, i, uint64(len(m.IpSrc)))
		i += copy(dAtA[i:], m.IpSrc)
	}
	if len(m.IpDst) > 0 {
		dAtA[i] = 0x82
		i++
		dAtA[i] = 0x19
		i++
		i = encodeVarintRequest(dAtA, i, uint64(len(m.IpDst)))
		i += copy(dAtA[i:], m.IpDst)
	}
	if m.PortSrc != 0 {
		dAtA[i] = 0xa0
		i++
		dAtA[i] = 0x1f
		i++
		i = encodeVarintRequest(dAtA, i, uint64(m.PortSrc))
	}
	if m.PortDst != 0 {
		dAtA[i] = 0xc0
		i++
		dAtA[i] = 0x25
		i++
		i = encodeVarintRequest(dAtA, i, uint64(m.PortDst))
	}
	if m.TcpSeq != 0 {
		dAtA[i] = 0xe0
		i++
		dAtA[i] = 0x2b
		i++
		i = encodeVarintRequest(dAtA, i, uint64(m.TcpSeq))
	}
	if m.CreatedAt != 0 {
		dAtA[i] = 0x80
		i++
		dAtA[i] = 0x32
		i++
		i = encodeVarintRequest(dAtA, i, uint64(m.CreatedAt))
	}
	if len(m.XForwardedFor) > 0 {
		dAtA[i] = 0xa2
		i++
		dAtA[i] = 0x38
		i++
		i = encodeVarintRequest(dAtA, i, uint64(len(m.XForwardedFor)))
		i += copy(dAtA[i:], m.XForwardedFor)
	}
	if len(m.XRealIP) > 0 {
		dAtA[i] = 0xc2
		i++
		dAtA[i] = 0x3e
		i++
		i = encodeVarintRequest(dAtA, i, uint64(len(m.XRealIP)))
		i += copy(dAtA[i:], m.XRealIP)
	}
	if len(m.Method) > 0 {
		dAtA[i] = 0xe2
		i++
		dAtA[i] = 0x44
		i++
		i = encodeVarintRequest(dAtA, i, uint64(len(m.Method)))
		i += copy(dAtA[i:], m.Method)
	}
	if len(m.Origin) > 0 {
		dAtA[i] = 0x82
		i++
		dAtA[i] = 0x4b
		i++
		i = encodeVarintRequest(dAtA, i, uint64(len(m.Origin)))
		i += copy(dAtA[i:], m.Origin)
	}
	if len(m.Referer) > 0 {
		dAtA[i] = 0xa2
		i++
		dAtA[i] = 0x51
		i++
		i = encodeVarintRequest(dAtA, i, uint64(len(m.Referer)))
		i += copy(dAtA[i:], m.Referer)
	}
	if len(m.UserAgent) > 0 {
		dAtA[i] = 0xc2
		i++
		dAtA[i] = 0x57
		i++
		i = encodeVarintRequest(dAtA, i, uint64(len(m.UserAgent)))
		i += copy(dAtA[i:], m.UserAgent)
	}
	if len(m.Source) > 0 {
		dAtA[i] = 0xe2
		i++
		dAtA[i] = 0x5d
		i++
		i = encodeVarintRequest(dAtA, i, uint64(len(m.Source)))
		i += copy(dAtA[i:], m.Source)
	}
	if len(m.Host) > 0 {
		dAtA[i] = 0x82
		i++
		dAtA[i] = 0x64
		i++
		i = encodeVarintRequest(dAtA, i, uint64(len(m.Host)))
		i += copy(dAtA[i:], m.Host)
	}
	if len(m.Protocol) > 0 {
		dAtA[i] = 0xa2
		i++
		dAtA[i] = 0x6a
		i++
		i = encodeVarintRequest(dAtA, i, uint64(len(m.Protocol)))
		i += copy(dAtA[i:], m.Protocol)
	}
	if len(m.Connection) > 0 {
		dAtA[i] = 0xc2
		i++
		dAtA[i] = 0x70
		i++
		i = encodeVarintRequest(dAtA, i, uint64(len(m.Connection)))
		i += copy(dAtA[i:], m.Connection)
	}
	if len(m.XRequestedWith) > 0 {
		dAtA[i] = 0xe2
		i++
		dAtA[i] = 0x76
		i++
		i = encodeVarintRequest(dAtA, i, uint64(len(m.XRequestedWith)))
		i += copy(dAtA[i:], m.XRequestedWith)
	}
	if len(m.AcceptEncoding) > 0 {
		dAtA[i] = 0x82
		i++
		dAtA[i] = 0x7d
		i++
		i = encodeVarintRequest(dAtA, i, uint64(len(m.AcceptEncoding)))
		i += copy(dAtA[i:], m.AcceptEncoding)
	}
	if len(m.AcceptLanguage) > 0 {
		dAtA[i] = 0xa2
		i++
		dAtA[i] = 0x83
		i++
		dAtA[i] = 0x1
		i++
		i = encodeVarintRequest(dAtA, i, uint64(len(m.AcceptLanguage)))
		i += copy(dAtA[i:], m.AcceptLanguage)
	}
	if len(m.Accept) > 0 {
		dAtA[i] = 0xc2
		i++
		dAtA[i] = 0x89
		i++
		dAtA[i] = 0x1
		i++
		i = encodeVarintRequest(dAtA, i, uint64(len(m.Accept)))
		i += copy(dAtA[i:], m.Accept)
	}
	if len(m.Cookie) > 0 {
		dAtA[i] = 0xe2
		i++
		dAtA[i] = 0x8f
		i++
		dAtA[i] = 0x1
		i++
		i = encodeVarintRequest(dAtA, i, uint64(len(m.Cookie)))
		i += copy(dAtA[i:], m.Cookie)
	}
	if len(m.Via) > 0 {
		dAtA[i] = 0x82
		i++
		dAtA[i] = 0x96
		i++
		dAtA[i] = 0x1
		i++
		i = encodeVarintRequest(dAtA, i, uint64(len(m.Via)))
		i += copy(dAtA[i:], m.Via)
	}
	return i, nil
}

func encodeFixed64Request(dAtA []byte, offset int, v uint64) int {
	dAtA[offset] = uint8(v)
	dAtA[offset+1] = uint8(v >> 8)
	dAtA[offset+2] = uint8(v >> 16)
	dAtA[offset+3] = uint8(v >> 24)
	dAtA[offset+4] = uint8(v >> 32)
	dAtA[offset+5] = uint8(v >> 40)
	dAtA[offset+6] = uint8(v >> 48)
	dAtA[offset+7] = uint8(v >> 56)
	return offset + 8
}
func encodeFixed32Request(dAtA []byte, offset int, v uint32) int {
	dAtA[offset] = uint8(v)
	dAtA[offset+1] = uint8(v >> 8)
	dAtA[offset+2] = uint8(v >> 16)
	dAtA[offset+3] = uint8(v >> 24)
	return offset + 4
}
func encodeVarintRequest(dAtA []byte, offset int, v uint64) int {
	for v >= 1<<7 {
		dAtA[offset] = uint8(v&0x7f | 0x80)
		v >>= 7
		offset++
	}
	dAtA[offset] = uint8(v)
	return offset + 1
}
func (m *Request) Size() (n int) {
	var l int
	_ = l
	l = len(m.Url)
	if l > 0 {
		n += 2 + l + sovRequest(uint64(l))
	}
	l = len(m.Reverse)
	if l > 0 {
		n += 2 + l + sovRequest(uint64(l))
	}
	l = len(m.IpSrc)
	if l > 0 {
		n += 2 + l + sovRequest(uint64(l))
	}
	l = len(m.IpDst)
	if l > 0 {
		n += 2 + l + sovRequest(uint64(l))
	}
	if m.PortSrc != 0 {
		n += 2 + sovRequest(uint64(m.PortSrc))
	}
	if m.PortDst != 0 {
		n += 2 + sovRequest(uint64(m.PortDst))
	}
	if m.TcpSeq != 0 {
		n += 2 + sovRequest(uint64(m.TcpSeq))
	}
	if m.CreatedAt != 0 {
		n += 2 + sovRequest(uint64(m.CreatedAt))
	}
	l = len(m.XForwardedFor)
	if l > 0 {
		n += 2 + l + sovRequest(uint64(l))
	}
	l = len(m.XRealIP)
	if l > 0 {
		n += 2 + l + sovRequest(uint64(l))
	}
	l = len(m.Method)
	if l > 0 {
		n += 2 + l + sovRequest(uint64(l))
	}
	l = len(m.Origin)
	if l > 0 {
		n += 2 + l + sovRequest(uint64(l))
	}
	l = len(m.Referer)
	if l > 0 {
		n += 2 + l + sovRequest(uint64(l))
	}
	l = len(m.UserAgent)
	if l > 0 {
		n += 2 + l + sovRequest(uint64(l))
	}
	l = len(m.Source)
	if l > 0 {
		n += 2 + l + sovRequest(uint64(l))
	}
	l = len(m.Host)
	if l > 0 {
		n += 2 + l + sovRequest(uint64(l))
	}
	l = len(m.Protocol)
	if l > 0 {
		n += 2 + l + sovRequest(uint64(l))
	}
	l = len(m.Connection)
	if l > 0 {
		n += 2 + l + sovRequest(uint64(l))
	}
	l = len(m.XRequestedWith)
	if l > 0 {
		n += 2 + l + sovRequest(uint64(l))
	}
	l = len(m.AcceptEncoding)
	if l > 0 {
		n += 2 + l + sovRequest(uint64(l))
	}
	l = len(m.AcceptLanguage)
	if l > 0 {
		n += 3 + l + sovRequest(uint64(l))
	}
	l = len(m.Accept)
	if l > 0 {
		n += 3 + l + sovRequest(uint64(l))
	}
	l = len(m.Cookie)
	if l > 0 {
		n += 3 + l + sovRequest(uint64(l))
	}
	l = len(m.Via)
	if l > 0 {
		n += 3 + l + sovRequest(uint64(l))
	}
	return n
}

func sovRequest(x uint64) (n int) {
	for {
		n++
		x >>= 7
		if x == 0 {
			break
		}
	}
	return n
}
func sozRequest(x uint64) (n int) {
	return sovRequest(uint64((x << 1) ^ uint64((int64(x) >> 63))))
}
func (m *Request) Unmarshal(dAtA []byte) error {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		preIndex := iNdEx
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return ErrIntOverflowRequest
			}
			if iNdEx >= l {
				return io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		fieldNum := int32(wire >> 3)
		wireType := int(wire & 0x7)
		if wireType == 4 {
			return fmt.Errorf("proto: Request: wiretype end group for non-group")
		}
		if fieldNum <= 0 {
			return fmt.Errorf("proto: Request: illegal tag %d (wire type %d)", fieldNum, wire)
		}
		switch fieldNum {
		case 100:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Url", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowRequest
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthRequest
			}
			postIndex := iNdEx + intStringLen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Url = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 200:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Reverse", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowRequest
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthRequest
			}
			postIndex := iNdEx + intStringLen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Reverse = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 300:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field IpSrc", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowRequest
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthRequest
			}
			postIndex := iNdEx + intStringLen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.IpSrc = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 400:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field IpDst", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowRequest
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthRequest
			}
			postIndex := iNdEx + intStringLen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.IpDst = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 500:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field PortSrc", wireType)
			}
			m.PortSrc = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowRequest
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.PortSrc |= (uint32(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		case 600:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field PortDst", wireType)
			}
			m.PortDst = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowRequest
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.PortDst |= (uint32(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		case 700:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field TcpSeq", wireType)
			}
			m.TcpSeq = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowRequest
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.TcpSeq |= (uint32(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		case 800:
			if wireType != 0 {
				return fmt.Errorf("proto: wrong wireType = %d for field CreatedAt", wireType)
			}
			m.CreatedAt = 0
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowRequest
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				m.CreatedAt |= (int64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
		case 900:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field XForwardedFor", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowRequest
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthRequest
			}
			postIndex := iNdEx + intStringLen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.XForwardedFor = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 1000:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field XRealIP", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowRequest
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthRequest
			}
			postIndex := iNdEx + intStringLen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.XRealIP = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 1100:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Method", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowRequest
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthRequest
			}
			postIndex := iNdEx + intStringLen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Method = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 1200:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Origin", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowRequest
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthRequest
			}
			postIndex := iNdEx + intStringLen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Origin = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 1300:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Referer", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowRequest
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthRequest
			}
			postIndex := iNdEx + intStringLen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Referer = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 1400:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field UserAgent", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowRequest
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthRequest
			}
			postIndex := iNdEx + intStringLen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.UserAgent = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 1500:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Source", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowRequest
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthRequest
			}
			postIndex := iNdEx + intStringLen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Source = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 1600:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Host", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowRequest
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthRequest
			}
			postIndex := iNdEx + intStringLen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Host = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 1700:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Protocol", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowRequest
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthRequest
			}
			postIndex := iNdEx + intStringLen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Protocol = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 1800:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Connection", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowRequest
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthRequest
			}
			postIndex := iNdEx + intStringLen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Connection = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 1900:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field XRequestedWith", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowRequest
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthRequest
			}
			postIndex := iNdEx + intStringLen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.XRequestedWith = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 2000:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field AcceptEncoding", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowRequest
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthRequest
			}
			postIndex := iNdEx + intStringLen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.AcceptEncoding = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 2100:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field AcceptLanguage", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowRequest
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthRequest
			}
			postIndex := iNdEx + intStringLen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.AcceptLanguage = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 2200:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Accept", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowRequest
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthRequest
			}
			postIndex := iNdEx + intStringLen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Accept = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 2300:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Cookie", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowRequest
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthRequest
			}
			postIndex := iNdEx + intStringLen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Cookie = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		case 2400:
			if wireType != 2 {
				return fmt.Errorf("proto: wrong wireType = %d for field Via", wireType)
			}
			var stringLen uint64
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return ErrIntOverflowRequest
				}
				if iNdEx >= l {
					return io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				stringLen |= (uint64(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			intStringLen := int(stringLen)
			if intStringLen < 0 {
				return ErrInvalidLengthRequest
			}
			postIndex := iNdEx + intStringLen
			if postIndex > l {
				return io.ErrUnexpectedEOF
			}
			m.Via = string(dAtA[iNdEx:postIndex])
			iNdEx = postIndex
		default:
			iNdEx = preIndex
			skippy, err := skipRequest(dAtA[iNdEx:])
			if err != nil {
				return err
			}
			if skippy < 0 {
				return ErrInvalidLengthRequest
			}
			if (iNdEx + skippy) > l {
				return io.ErrUnexpectedEOF
			}
			iNdEx += skippy
		}
	}

	if iNdEx > l {
		return io.ErrUnexpectedEOF
	}
	return nil
}
func skipRequest(dAtA []byte) (n int, err error) {
	l := len(dAtA)
	iNdEx := 0
	for iNdEx < l {
		var wire uint64
		for shift := uint(0); ; shift += 7 {
			if shift >= 64 {
				return 0, ErrIntOverflowRequest
			}
			if iNdEx >= l {
				return 0, io.ErrUnexpectedEOF
			}
			b := dAtA[iNdEx]
			iNdEx++
			wire |= (uint64(b) & 0x7F) << shift
			if b < 0x80 {
				break
			}
		}
		wireType := int(wire & 0x7)
		switch wireType {
		case 0:
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return 0, ErrIntOverflowRequest
				}
				if iNdEx >= l {
					return 0, io.ErrUnexpectedEOF
				}
				iNdEx++
				if dAtA[iNdEx-1] < 0x80 {
					break
				}
			}
			return iNdEx, nil
		case 1:
			iNdEx += 8
			return iNdEx, nil
		case 2:
			var length int
			for shift := uint(0); ; shift += 7 {
				if shift >= 64 {
					return 0, ErrIntOverflowRequest
				}
				if iNdEx >= l {
					return 0, io.ErrUnexpectedEOF
				}
				b := dAtA[iNdEx]
				iNdEx++
				length |= (int(b) & 0x7F) << shift
				if b < 0x80 {
					break
				}
			}
			iNdEx += length
			if length < 0 {
				return 0, ErrInvalidLengthRequest
			}
			return iNdEx, nil
		case 3:
			for {
				var innerWire uint64
				var start int = iNdEx
				for shift := uint(0); ; shift += 7 {
					if shift >= 64 {
						return 0, ErrIntOverflowRequest
					}
					if iNdEx >= l {
						return 0, io.ErrUnexpectedEOF
					}
					b := dAtA[iNdEx]
					iNdEx++
					innerWire |= (uint64(b) & 0x7F) << shift
					if b < 0x80 {
						break
					}
				}
				innerWireType := int(innerWire & 0x7)
				if innerWireType == 4 {
					break
				}
				next, err := skipRequest(dAtA[start:])
				if err != nil {
					return 0, err
				}
				iNdEx = start + next
			}
			return iNdEx, nil
		case 4:
			return iNdEx, nil
		case 5:
			iNdEx += 4
			return iNdEx, nil
		default:
			return 0, fmt.Errorf("proto: illegal wireType %d", wireType)
		}
	}
	panic("unreachable")
}

var (
	ErrInvalidLengthRequest = fmt.Errorf("proto: negative length found during unmarshaling")
	ErrIntOverflowRequest   = fmt.Errorf("proto: integer overflow")
)

func init() { proto.RegisterFile("request.proto", fileDescriptorRequest) }

var fileDescriptorRequest = []byte{
	// 448 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0x5c, 0x92, 0x3d, 0x6f, 0x53, 0x31,
	0x14, 0x86, 0xb9, 0xe4, 0xa3, 0x8d, 0x21, 0x25, 0x35, 0x42, 0x1c, 0x84, 0x08, 0x15, 0x12, 0xa2,
	0x13, 0x0b, 0xbf, 0x20, 0xa4, 0x54, 0x54, 0x02, 0x11, 0xdd, 0xd0, 0x92, 0xd5, 0xd8, 0x87, 0x5b,
	0x8b, 0xc8, 0x4e, 0x7d, 0x1d, 0xf8, 0x03, 0x0c, 0x8c, 0x1d, 0x18, 0x18, 0x19, 0x18, 0x3b, 0x30,
	0x30, 0x32, 0x30, 0x76, 0x60, 0xe8, 0xc8, 0xc0, 0x50, 0x85, 0x85, 0x81, 0x91, 0x81, 0x81, 0x01,
	0x1d, 0x9f, 0x5c, 0xd2, 0xb2, 0xdd, 0xf7, 0x79, 0xde, 0xeb, 0x6f, 0xd1, 0x0e, 0xb8, 0x37, 0xc5,
	0x32, 0xde, 0x9e, 0x04, 0x1f, 0xbd, 0xac, 0x1b, 0x15, 0xd5, 0x8d, 0x83, 0x86, 0x58, 0xca, 0x99,
	0xcb, 0x8e, 0xa8, 0x6d, 0x87, 0x31, 0x98, 0xb5, 0x6c, 0xbd, 0x95, 0xd3, 0xa7, 0xbc, 0x42, 0xf2,
	0x05, 0x86, 0x12, 0xe1, 0x30, 0x4b, 0xb8, 0xca, 0xf2, 0x92, 0x68, 0x6c, 0x4d, 0x86, 0x41, 0xc3,
	0xc1, 0xd9, 0x24, 0x38, 0x31, 0xde, 0x28, 0x23, 0xec, 0xd7, 0x2a, 0xbc, 0x51, 0x46, 0x1a, 0x68,
	0xe0, 0x43, 0xa4, 0xfe, 0x2f, 0x12, 0xed, 0xbc, 0xca, 0x95, 0xa2, 0x7f, 0xbe, 0xd6, 0x17, 0x8a,
	0xfe, 0xba, 0x2c, 0x9a, 0x8f, 0xf5, 0x64, 0x88, 0x7b, 0xf0, 0xa9, 0x91, 0xcc, 0x3c, 0xca, 0x6b,
	0xa2, 0xd5, 0x0f, 0xa8, 0x22, 0x9a, 0x5e, 0x84, 0x77, 0xcd, 0xb5, 0x6c, 0xbd, 0x96, 0x2f, 0x88,
	0xbc, 0x29, 0xda, 0xa3, 0x4d, 0x1f, 0x5e, 0xaa, 0x60, 0xd0, 0x6c, 0xfa, 0x00, 0xaf, 0x96, 0xd2,
	0x62, 0x4e, 0x53, 0x9a, 0x79, 0x94, 0xa3, 0x1a, 0x6f, 0x0d, 0xe0, 0x07, 0x17, 0xaa, 0x4c, 0x33,
	0x3f, 0xc4, 0xb8, 0xeb, 0x0d, 0x7c, 0x59, 0x4e, 0x66, 0x1e, 0x49, 0x3c, 0x0a, 0xb6, 0xb0, 0x0e,
	0x3e, 0xb4, 0x58, 0x70, 0xe4, 0xa3, 0x7a, 0x86, 0x01, 0x03, 0xbc, 0x11, 0xd5, 0x51, 0xa5, 0x4c,
	0xab, 0xdd, 0x2e, 0x31, 0xf4, 0x0a, 0x74, 0x11, 0x7e, 0xb3, 0x5c, 0x10, 0x1a, 0x72, 0xe8, 0xa7,
	0x41, 0x23, 0x7c, 0x3b, 0xc7, 0x43, 0x72, 0x94, 0x17, 0x45, 0xfd, 0xbe, 0x2f, 0x23, 0x7c, 0x3e,
	0x9f, 0x70, 0x0a, 0xf2, 0xaa, 0x58, 0x1e, 0xd0, 0xfd, 0x69, 0x3f, 0x86, 0xf7, 0xed, 0x24, 0xfe,
	0x01, 0x79, 0x5d, 0x88, 0xbe, 0x77, 0x0e, 0x75, 0xb4, 0xde, 0xc1, 0xeb, 0x95, 0xa4, 0x4f, 0x20,
	0x79, 0x4b, 0xac, 0x8c, 0xe6, 0xd7, 0x8d, 0xe6, 0x89, 0x8d, 0xbb, 0xf0, 0x93, 0x4b, 0xff, 0x61,
	0x2a, 0xf6, 0xb4, 0xc6, 0x49, 0xbc, 0xe7, 0xb4, 0x37, 0xd6, 0x15, 0x70, 0x74, 0x81, 0x8b, 0xa7,
	0xf1, 0xa2, 0xf8, 0x40, 0xb9, 0x62, 0xaa, 0x0a, 0x84, 0x8f, 0x9d, 0x93, 0xc5, 0x0a, 0xd3, 0x36,
	0x99, 0xc0, 0xdb, 0x55, 0xde, 0x26, 0x47, 0x12, 0x7d, 0xef, 0x9f, 0x5b, 0x84, 0x3f, 0x73, 0xc1,
	0x51, 0xae, 0x8a, 0xda, 0x8e, 0x55, 0x70, 0x2c, 0xf9, 0x41, 0xee, 0x58, 0x75, 0xb7, 0x73, 0x38,
	0xeb, 0x66, 0x47, 0xb3, 0x6e, 0x76, 0x3c, 0xeb, 0x66, 0xfb, 0xdf, 0xbb, 0x67, 0x9e, 0x36, 0xd3,
	0x6b, 0xbe, 0xf3, 0x37, 0x00, 0x00, 0xff, 0xff, 0x86, 0xcf, 0x1f, 0x8a, 0xde, 0x02, 0x00, 0x00,
}