| line | !l | l&&!r | l&&r | condition | 
 
| 58 | 0 | 863 | 0 | $self->{'msglimit'} and $len > $self->{'msglimit'} | 
 
| 98 | 0 | 89 | 760 | $msg->{'jsonrpc'} eq "2.0" and exists $msg->{'id'} || exists $msg->{'method'} | 
 
| 116 | 402 | 19 | 8 | ref $msg->{'result'} ne "ARRAY" and $rsp ne "rpcswitch.ping" | 
 
|  | 421 | 8 | 0 | ref $msg->{'result'} ne "ARRAY" and $rsp ne "rpcswitch.ping" and $rsp ne "rpcswitch.withdraw" | 
 
| 164 | 66 | 66 | 449 | $self->{'state'} and $self->{'state'} ne "rpcswitch.hello" | 
 
| 226 | 0 | 0 | 0 | $msg->{'params'}[0] eq "RES_OK" and $msg->{'params'}[1] eq $self->{'channels'}{$channel} | 
 
|  | 0 | 0 | 0 | $msg->{'params'}[0] eq "RES_ERROR" and $msg->{'params'}[1] eq $self->{'channels'}{$channel} | 
 
| 325 | 0 | 0 | 20 | exists $params->{'session'} and exists $params->{'session'}{'id'} | 
 
| 335 | 0 | 0 | 20 | ref $params eq "ARRAY" and $params->[0] eq "RES_OK" | 
 
|  | 0 | 0 | 20 | ref $params eq "ARRAY" and $params->[0] eq "RES_OK" and ref $params->[2] | 
 
|  | 0 | 0 | 20 | ref $params eq "ARRAY" and $params->[0] eq "RES_OK" and ref $params->[2] and exists $params->[2]{'set_session'} | 
 
| 364 | 4 | 0 | 0 | $@ and $@ =~ /^EINTR/ | 
 
| 528 | 1069 | 0 | 19 | $call_timeout and keys %{$$self{"reqs"};} > 0 | 
 
| 538 | 0 | 0 | 0 | $self->{'stop'} eq "withdraw" and keys %{$$self{"announced"};} | 
 
|  | 0 | 0 | 0 | $self->{'stop'} eq "withdraw" and $self->{'async'} | 
 
|  | 0 | 0 | 0 | $self->{'stop'} eq "withdraw" and $self->{'async'} and keys %{$$self{"async"}{"jobs"};} | 
 
| 566 | 418 | 19 | 0 | @ready == 0 and $!{'EINTR'} | 
 
| 570 | 295 | 0 | 165 | $fh != $self->{'sock'} and $self->{'async'} | 
 
| 585 | 97 | 0 | 0 | $@ and $@ =~ /^EINTR/ |