| line | l | !l&&r | !l&&!r | condition | 
 
| 15 | 67 | 0 | 34 | $_[0]{'Web::Dispatch.original_env'} || $_[0] | 
 
|  | 0 | 101 | 0 | ($_[0]{'Web::Dispatch.original_env'} || $_[0])->{'Web::Dispatch::ParamParser.unpacked_query'} ||= do {
	_unpack_params($_[0]{'QUERY_STRING'})
} | 
 
| 21 | 8 | 0 | 18 | $_[0]{'Web::Dispatch.original_env'} || $_[0] | 
 
|  | 13 | 13 | 0 | ($_[0]{'Web::Dispatch.original_env'} || $_[0])->{'Web::Dispatch::ParamParser.unpacked_body'} ||= do {
	my $ct = lc($_[0]{'CONTENT_TYPE'} || '');
if (not $_[0]{'CONTENT_LENGTH'}) {
	+{};
}
elsif (index($ct, 'application/x-www-form-urlencoded') >= 0) {
	$_[0]{'psgi.input'}->read(my $buf, $_[0]{'CONTENT_LENGTH'});
_unpack_params($buf);
}
elsif (index($ct, 'multipart/form-data') >= 0) {
	my $p = get_unpacked_body_object_from($_[0])->param;
+{map((ref $p->{$_} eq 'ARRAY' ? ($_, $p->{$_}) : ($_, [$p->{$_}])), keys %$p)};
}
else {
	+{};
}
} | 
 
| 46 | 0 | 0 | 12 | $_[0]{'Web::Dispatch.original_env'} || $_[0] | 
 
|  | 4 | 8 | 0 | ($_[0]{'Web::Dispatch.original_env'} || $_[0])->{'Web::Dispatch::ParamParser.unpacked_body_object'} ||= do {
	if (not $_[0]{'CONTENT_LENGTH'}) {
	[undef];
}
elsif (index(lc($_[0]{'CONTENT_TYPE'} || ''), 'multipart/form-data') == -1) {
	[undef];
}
else {
	[_make_http_body($_[0])];
}
} | 
 
| 58 | 0 | 7 | 0 | $_[0]{'Web::Dispatch::ParamParser.unpacked_uploads'} ||= do {
	require Web::Dispatch::Upload;
require HTTP::Headers;
my($final, $reason) = ({}, 'field %s exists with value %s but body was not multipart/form-data');
if (my $body = get_unpacked_body_object_from($_[0])) {
	my $u = $body->upload;
$reason = 'field %s exists with value %s but was not an upload';
foreach my $k (keys %$u) {
	foreach my $v (ref $u->{$k} eq 'ARRAY' ? @{$$u{$k};} : $u->{$k}) {
	push @{$final->{$k} ||= [];}, 'Web::Dispatch::Upload'->new(%{$v;}, 'headers', 'HTTP::Headers'->new($v->{'headers'}));
};
};
};
my $b = get_unpacked_body_from($_[0]);
foreach my $k (keys %$b) {
	next if $final->{$k};
foreach my $v (@{$$b{$k};}) {
	next unless $v;
push @{$final->{$k} ||= [];}, 'Web::Dispatch::NotAnUpload'->new('filename', $v, 'reason', sprintf($reason, $k, $v));
};
};
$final
} |