# pagination-counts pydantic_v2.BaseModel, pydantic_v2.dataclass, dataclasses.dataclass, typing.TypedDict, msgspec.Struct
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  query client = [41,42] continuation=42 status=200 attempts=1
  > GET https://api.example.com/users?offset=42&limit=2
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  query client next = [43,44] continuation=None status=200 attempts=1
  > GET https://api.example.com/users?offset=50
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  query view = [51,52] continuation=52 status=200 attempts=1
  > GET https://api.example.com/users?offset=52&limit=2
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  query view next = [53,54] continuation=None status=200 attempts=1
  > GET https://api.example.com/users?offset=60
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  query nested view = [61,62] continuation=62 status=200 attempts=1
  > GET https://api.example.com/users?offset=62&limit=2
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  query nested view next = [63,64] continuation=None status=200 attempts=1
  > GET https://api.example.com/users?offset=70
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  query typed over views = [71,72] continuation=72 status=200 attempts=1
  > GET https://api.example.com/users?offset=72&limit=2
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  query typed over views next = [73,74] continuation=None status=200 attempts=1
  > GET https://api.example.com/users?offset=50
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  query UNSET over view = [51,52] continuation=52 status=200 attempts=1
  > GET https://api.example.com/users?offset=52&limit=2
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  query UNSET over view next = [53,54] continuation=None status=200 attempts=1
  query rejected call over typed ! ConfigurationError: ConfigurationError(reason='invalid_value', field_path='options.extra_query.offset') [field_path=('options', 'extra_query', 'offset')] invalid_value
  query rejected call removes typed ! ConfigurationError: ConfigurationError(reason='invalid_value', field_path='options.extra_query.offset') [field_path=('options', 'extra_query', 'offset')] invalid_value
  > GET https://api.example.com/users
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  query view removes default = [1,2] continuation=2 status=200 attempts=1
  > GET https://api.example.com/users?offset=2&limit=2
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  query view removes default next = [3,4] continuation=None status=200 attempts=1
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  query empty call options = [41,42] continuation=42 status=200 attempts=1
  > GET https://api.example.com/users?offset=42&limit=2
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  query empty call options next = [43,44] continuation=None status=200 attempts=1
  query invalid forty ! ProtocolDataError: ProtocolDataError(operation_id='listUsers', reason='type') [operation_id='listUsers', location=ParameterTarget(location='query', name='offset')] type
  query invalid 40.5 ! ProtocolDataError: ProtocolDataError(operation_id='listUsers', reason='type') [operation_id='listUsers', location=ParameterTarget(location='query', name='offset')] type
  query invalid 40.00000000000000000001 ! ProtocolDataError: ProtocolDataError(operation_id='listUsers', reason='type') [operation_id='listUsers', location=ParameterTarget(location='query', name='offset')] type
  query invalid NaN ! ProtocolDataError: ProtocolDataError(operation_id='listUsers', reason='type') [operation_id='listUsers', location=ParameterTarget(location='query', name='offset')] type
  query invalid Infinity ! ProtocolDataError: ProtocolDataError(operation_id='listUsers', reason='type') [operation_id='listUsers', location=ParameterTarget(location='query', name='offset')] type
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  header client = [6,7] continuation=6 status=200 attempts=1
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 6] b''
  header client next = [7,8] continuation=None status=200 attempts=1
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 15] b''
  header view = [16,17] continuation=16 status=200 attempts=1
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 16] b''
  header view next = [17,18] continuation=None status=200 attempts=1
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 25] b''
  header nested view = [26,27] continuation=26 status=200 attempts=1
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 26] b''
  header nested view next = [27,28] continuation=None status=200 attempts=1
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 35] b''
  header typed over views = [36,37] continuation=36 status=200 attempts=1
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 36] b''
  header typed over views next = [37,38] continuation=None status=200 attempts=1
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 15] b''
  header UNSET over view = [16,17] continuation=16 status=200 attempts=1
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 16] b''
  header UNSET over view next = [17,18] continuation=None status=200 attempts=1
  header rejected call over typed ! ConfigurationError: ConfigurationError(reason='invalid_value', field_path='options.extra_headers.X-Page') [field_path=('options', 'extra_headers', 'X-Page')] invalid_value
  header rejected call removes typed ! ConfigurationError: ConfigurationError(reason='invalid_value', field_path='options.extra_headers.X-Page') [field_path=('options', 'extra_headers', 'X-Page')] invalid_value
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json] b''
  header view removes default = [1,2] continuation=1 status=200 attempts=1
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 1] b''
  header view removes default next = [2,3] continuation=None status=200 attempts=1
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  header empty call options = [6,7] continuation=6 status=200 attempts=1
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 6] b''
  header empty call options next = [7,8] continuation=None status=200 attempts=1
  header invalid forty ! ProtocolDataError: ProtocolDataError(operation_id='listUsers', reason='type') [operation_id='listUsers', location=ParameterTarget(location='header', name='X-Page')] type
  header invalid 40.5 ! ProtocolDataError: ProtocolDataError(operation_id='listUsers', reason='type') [operation_id='listUsers', location=ParameterTarget(location='header', name='X-Page')] type
  header invalid 40.00000000000000000001 ! ProtocolDataError: ProtocolDataError(operation_id='listUsers', reason='type') [operation_id='listUsers', location=ParameterTarget(location='header', name='X-Page')] type
  header invalid NaN ! ProtocolDataError: ProtocolDataError(operation_id='listUsers', reason='type') [operation_id='listUsers', location=ParameterTarget(location='header', name='X-Page')] type
  header invalid Infinity ! ProtocolDataError: ProtocolDataError(operation_id='listUsers', reason='type') [operation_id='listUsers', location=ParameterTarget(location='header', name='X-Page')] type
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  > GET https://api.example.com/users?offset=42&limit=2
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  client default offset items ['41', '42', '43', '44']
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  async query client = [41,42] continuation=42 status=200 attempts=1
  > GET https://api.example.com/users?offset=42&limit=2
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  async query client next = [43,44] continuation=None status=200 attempts=1
  > GET https://api.example.com/users?offset=50
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  async query view = [51,52] continuation=52 status=200 attempts=1
  > GET https://api.example.com/users?offset=52&limit=2
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  async query view next = [53,54] continuation=None status=200 attempts=1
  > GET https://api.example.com/users?offset=60
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  async query nested view = [61,62] continuation=62 status=200 attempts=1
  > GET https://api.example.com/users?offset=62&limit=2
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  async query nested view next = [63,64] continuation=None status=200 attempts=1
  > GET https://api.example.com/users?offset=70
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  async query typed over views = [71,72] continuation=72 status=200 attempts=1
  > GET https://api.example.com/users?offset=72&limit=2
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  async query typed over views next = [73,74] continuation=None status=200 attempts=1
  > GET https://api.example.com/users?offset=50
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  async query UNSET over view = [51,52] continuation=52 status=200 attempts=1
  > GET https://api.example.com/users?offset=52&limit=2
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  async query UNSET over view next = [53,54] continuation=None status=200 attempts=1
  async query rejected call over typed ! ConfigurationError: ConfigurationError(reason='invalid_value', field_path='options.extra_query.offset') [field_path=('options', 'extra_query', 'offset')] invalid_value
  async query rejected call removes typed ! ConfigurationError: ConfigurationError(reason='invalid_value', field_path='options.extra_query.offset') [field_path=('options', 'extra_query', 'offset')] invalid_value
  > GET https://api.example.com/users
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  async query view removes default = [1,2] continuation=2 status=200 attempts=1
  > GET https://api.example.com/users?offset=2&limit=2
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  async query view removes default next = [3,4] continuation=None status=200 attempts=1
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  async query empty call options = [41,42] continuation=42 status=200 attempts=1
  > GET https://api.example.com/users?offset=42&limit=2
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  async query empty call options next = [43,44] continuation=None status=200 attempts=1
  async query invalid forty ! ProtocolDataError: ProtocolDataError(operation_id='listUsers', reason='type') [operation_id='listUsers', location=ParameterTarget(location='query', name='offset')] type
  async query invalid 40.5 ! ProtocolDataError: ProtocolDataError(operation_id='listUsers', reason='type') [operation_id='listUsers', location=ParameterTarget(location='query', name='offset')] type
  async query invalid 40.00000000000000000001 ! ProtocolDataError: ProtocolDataError(operation_id='listUsers', reason='type') [operation_id='listUsers', location=ParameterTarget(location='query', name='offset')] type
  async query invalid NaN ! ProtocolDataError: ProtocolDataError(operation_id='listUsers', reason='type') [operation_id='listUsers', location=ParameterTarget(location='query', name='offset')] type
  async query invalid Infinity ! ProtocolDataError: ProtocolDataError(operation_id='listUsers', reason='type') [operation_id='listUsers', location=ParameterTarget(location='query', name='offset')] type
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  async header client = [6,7] continuation=6 status=200 attempts=1
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 6] b''
  async header client next = [7,8] continuation=None status=200 attempts=1
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 15] b''
  async header view = [16,17] continuation=16 status=200 attempts=1
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 16] b''
  async header view next = [17,18] continuation=None status=200 attempts=1
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 25] b''
  async header nested view = [26,27] continuation=26 status=200 attempts=1
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 26] b''
  async header nested view next = [27,28] continuation=None status=200 attempts=1
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 35] b''
  async header typed over views = [36,37] continuation=36 status=200 attempts=1
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 36] b''
  async header typed over views next = [37,38] continuation=None status=200 attempts=1
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 15] b''
  async header UNSET over view = [16,17] continuation=16 status=200 attempts=1
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 16] b''
  async header UNSET over view next = [17,18] continuation=None status=200 attempts=1
  async header rejected call over typed ! ConfigurationError: ConfigurationError(reason='invalid_value', field_path='options.extra_headers.X-Page') [field_path=('options', 'extra_headers', 'X-Page')] invalid_value
  async header rejected call removes typed ! ConfigurationError: ConfigurationError(reason='invalid_value', field_path='options.extra_headers.X-Page') [field_path=('options', 'extra_headers', 'X-Page')] invalid_value
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json] b''
  async header view removes default = [1,2] continuation=1 status=200 attempts=1
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 1] b''
  async header view removes default next = [2,3] continuation=None status=200 attempts=1
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  async header empty call options = [6,7] continuation=6 status=200 attempts=1
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 6] b''
  async header empty call options next = [7,8] continuation=None status=200 attempts=1
  async header invalid forty ! ProtocolDataError: ProtocolDataError(operation_id='listUsers', reason='type') [operation_id='listUsers', location=ParameterTarget(location='header', name='X-Page')] type
  async header invalid 40.5 ! ProtocolDataError: ProtocolDataError(operation_id='listUsers', reason='type') [operation_id='listUsers', location=ParameterTarget(location='header', name='X-Page')] type
  async header invalid 40.00000000000000000001 ! ProtocolDataError: ProtocolDataError(operation_id='listUsers', reason='type') [operation_id='listUsers', location=ParameterTarget(location='header', name='X-Page')] type
  async header invalid NaN ! ProtocolDataError: ProtocolDataError(operation_id='listUsers', reason='type') [operation_id='listUsers', location=ParameterTarget(location='header', name='X-Page')] type
  async header invalid Infinity ! ProtocolDataError: ProtocolDataError(operation_id='listUsers', reason='type') [operation_id='listUsers', location=ParameterTarget(location='header', name='X-Page')] type
  > GET https://api.example.com/users?offset=40
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  > GET https://api.example.com/users?offset=42&limit=2
    [host: api.example.com, accept-encoding: gzip, deflate, accept: application/json, x-page: 5] b''
  async client default offset items ['41', '42', '43', '44']
