140278599:	e8 42 8c e0 ff       	call   0x1400811e0
14027859e:	85 c0                	test   %eax,%eax
1402785a0:	74 54                	je     0x1402785f6
1402785a2:	48 85 db             	test   %rbx,%rbx
1402785a5:	74 4f                	je     0x1402785f6
1402785a7:	48 85 ff             	test   %rdi,%rdi
1402785aa:	74 4a                	je     0x1402785f6
1402785ac:	48 8b cf             	mov    %rdi,%rcx
1402785af:	e8 0c 2e e4 ff       	call   0x1400bb3c0
1402785b4:	48 85 c0             	test   %rax,%rax
1402785b7:	74 3d                	je     0x1402785f6
1402785b9:	48 8b c8             	mov    %rax,%rcx
1402785bc:	e8 3f 0f ed ff       	call   0x140149500
1402785c1:	48 8b f8             	mov    %rax,%rdi
1402785c4:	48 85 c0             	test   %rax,%rax
1402785c7:	75 3a                	jne    0x140278603
1402785c9:	e8 a2 ea ea ff       	call   0x140127070
1402785ce:	4c 8d 05 db 4c 11 00 	lea    0x114cdb(%rip),%r8        # 0x14038d2b0
1402785d5:	ba 12 04 00 00       	mov    $0x412,%edx
1402785da:	48 8d 0d 77 4c 11 00 	lea    0x114c77(%rip),%rcx        # 0x14038d258
1402785e1:	e8 aa eb ea ff       	call   0x140127190
1402785e6:	45 33 c0             	xor    %r8d,%r8d
1402785e9:	8d 4f 39             	lea    0x39(%rdi),%ecx
1402785ec:	ba b0 00 00 00       	mov    $0xb0,%edx
1402785f1:	e8 9a ec ea ff       	call   0x140127290
1402785f6:	33 c0                	xor    %eax,%eax
1402785f8:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
1402785fd:	48 83 c4 20          	add    $0x20,%rsp
140278601:	5f                   	pop    %rdi
140278602:	c3                   	ret
140278603:	48 8b 8b 80 00 00 00 	mov    0x80(%rbx),%rcx
14027860a:	e8 61 0f ed ff       	call   0x140149570
14027860f:	48 89 bb 80 00 00 00 	mov    %rdi,0x80(%rbx)
140278616:	b8 01 00 00 00       	mov    $0x1,%eax
14027861b:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140278620:	48 83 c4 20          	add    $0x20,%rsp
140278624:	5f                   	pop    %rdi
140278625:	c3                   	ret
140278626:	cc                   	int3
140278627:	cc                   	int3
140278628:	cc                   	int3
140278629:	cc                   	int3
14027862a:	cc                   	int3
14027862b:	cc                   	int3
14027862c:	cc                   	int3
14027862d:	cc                   	int3
14027862e:	cc                   	int3
14027862f:	cc                   	int3
140278630:	48 89 5c 24 18       	mov    %rbx,0x18(%rsp)
140278635:	48 89 7c 24 20       	mov    %rdi,0x20(%rsp)
14027863a:	41 56                	push   %r14
14027863c:	b8 20 00 00 00       	mov    $0x20,%eax
140278641:	e8 ea 84 03 00       	call   0x1402b0b30
140278646:	48 2b e0             	sub    %rax,%rsp
140278649:	48 8b fa             	mov    %rdx,%rdi
14027864c:	48 8b d9             	mov    %rcx,%rbx
14027864f:	48 8b cf             	mov    %rdi,%rcx
140278652:	48 8d 15 3f 1c 0a 00 	lea    0xa1c3f(%rip),%rdx        # 0x14031a298
140278659:	45 33 f6             	xor    %r14d,%r14d
14027865c:	e8 9f 02 ec ff       	call   0x140138900
140278661:	48 85 c0             	test   %rax,%rax
140278664:	74 14                	je     0x14027867a
140278666:	48 8d 53 7c          	lea    0x7c(%rbx),%rdx
14027866a:	48 8b c8             	mov    %rax,%rcx
14027866d:	e8 ee fa eb ff       	call   0x140138160
140278672:	85 c0                	test   %eax,%eax
140278674:	0f 84 fa 03 00 00    	je     0x140278a74
14027867a:	48 8d 15 3f 29 09 00 	lea    0x9293f(%rip),%rdx        # 0x14030afc0
140278681:	48 89 74 24 38       	mov    %rsi,0x38(%rsp)
140278686:	48 8b cf             	mov    %rdi,%rcx
140278689:	e8 72 02 ec ff       	call   0x140138900
14027868e:	48 8b f0             	mov    %rax,%rsi
140278691:	48 85 c0             	test   %rax,%rax
140278694:	74 43                	je     0x1402786d9
140278696:	83 78 08 04          	cmpl   $0x4,0x8(%rax)
14027869a:	0f 85 cf 03 00 00    	jne    0x140278a6f
1402786a0:	48 8b 4b 08          	mov    0x8(%rbx),%rcx
1402786a4:	48 8d 15 ad 4b 11 00 	lea    0x114bad(%rip),%rdx        # 0x14038d258
1402786ab:	41 b8 55 04 00 00    	mov    $0x455,%r8d
1402786b1:	e8 0a 37 e7 ff       	call   0x1400ebdc0
1402786b6:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
1402786ba:	48 8d 15 97 4b 11 00 	lea    0x114b97(%rip),%rdx        # 0x14038d258
1402786c1:	41 b8 55 04 00 00    	mov    $0x455,%r8d
1402786c7:	e8 24 1a eb ff       	call   0x14012a0f0
1402786cc:	48 89 43 08          	mov    %rax,0x8(%rbx)
1402786d0:	48 85 c0             	test   %rax,%rax
1402786d3:	0f 84 96 03 00 00    	je     0x140278a6f
1402786d9:	48 8d 15 18 2a 09 00 	lea    0x92a18(%rip),%rdx        # 0x14030b0f8
1402786e0:	48 8b cf             	mov    %rdi,%rcx
1402786e3:	e8 18 02 ec ff       	call   0x140138900
1402786e8:	48 8b f0             	mov    %rax,%rsi
1402786eb:	48 85 c0             	test   %rax,%rax
1402786ee:	74 43                	je     0x140278733
1402786f0:	83 78 08 04          	cmpl   $0x4,0x8(%rax)
1402786f4:	0f 85 75 03 00 00    	jne    0x140278a6f
1402786fa:	48 8b 4b 28          	mov    0x28(%rbx),%rcx
1402786fe:	48 8d 15 53 4b 11 00 	lea    0x114b53(%rip),%rdx        # 0x14038d258
140278705:	41 b8 56 04 00 00    	mov    $0x456,%r8d
14027870b:	e8 b0 36 e7 ff       	call   0x1400ebdc0
140278710:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
140278714:	48 8d 15 3d 4b 11 00 	lea    0x114b3d(%rip),%rdx        # 0x14038d258
14027871b:	41 b8 56 04 00 00    	mov    $0x456,%r8d
140278721:	e8 ca 19 eb ff       	call   0x14012a0f0
140278726:	48 89 43 28          	mov    %rax,0x28(%rbx)
14027872a:	48 85 c0             	test   %rax,%rax
14027872d:	0f 84 3c 03 00 00    	je     0x140278a6f
140278733:	48 8d 15 56 e8 09 00 	lea    0x9e856(%rip),%rdx        # 0x140316f90
14027873a:	48 8b cf             	mov    %rdi,%rcx
14027873d:	e8 be 01 ec ff       	call   0x140138900
140278742:	48 8b f0             	mov    %rax,%rsi
140278745:	48 85 c0             	test   %rax,%rax
140278748:	74 43                	je     0x14027878d
14027874a:	83 78 08 04          	cmpl   $0x4,0x8(%rax)
14027874e:	0f 85 1b 03 00 00    	jne    0x140278a6f
140278754:	48 8b 4b 10          	mov    0x10(%rbx),%rcx
140278758:	48 8d 15 f9 4a 11 00 	lea    0x114af9(%rip),%rdx        # 0x14038d258
14027875f:	41 b8 57 04 00 00    	mov    $0x457,%r8d
140278765:	e8 56 36 e7 ff       	call   0x1400ebdc0
14027876a:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
14027876e:	48 8d 15 e3 4a 11 00 	lea    0x114ae3(%rip),%rdx        # 0x14038d258
140278775:	41 b8 57 04 00 00    	mov    $0x457,%r8d
14027877b:	e8 70 19 eb ff       	call   0x14012a0f0
140278780:	48 89 43 10          	mov    %rax,0x10(%rbx)
140278784:	48 85 c0             	test   %rax,%rax
140278787:	0f 84 e2 02 00 00    	je     0x140278a6f
14027878d:	48 8d 15 2c 29 09 00 	lea    0x9292c(%rip),%rdx        # 0x14030b0c0
140278794:	48 8b cf             	mov    %rdi,%rcx
140278797:	e8 64 01 ec ff       	call   0x140138900
14027879c:	48 8b f0             	mov    %rax,%rsi
14027879f:	48 85 c0             	test   %rax,%rax
1402787a2:	74 43                	je     0x1402787e7
1402787a4:	83 78 08 04          	cmpl   $0x4,0x8(%rax)
1402787a8:	0f 85 c1 02 00 00    	jne    0x140278a6f
1402787ae:	48 8b 4b 18          	mov    0x18(%rbx),%rcx
1402787b2:	48 8d 15 9f 4a 11 00 	lea    0x114a9f(%rip),%rdx        # 0x14038d258
1402787b9:	41 b8 58 04 00 00    	mov    $0x458,%r8d
1402787bf:	e8 fc 35 e7 ff       	call   0x1400ebdc0
1402787c4:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
1402787c8:	48 8d 15 89 4a 11 00 	lea    0x114a89(%rip),%rdx        # 0x14038d258
1402787cf:	41 b8 58 04 00 00    	mov    $0x458,%r8d
1402787d5:	e8 16 19 eb ff       	call   0x14012a0f0
1402787da:	48 89 43 18          	mov    %rax,0x18(%rbx)
1402787de:	48 85 c0             	test   %rax,%rax
1402787e1:	0f 84 88 02 00 00    	je     0x140278a6f
1402787e7:	48 8d 15 9a 1a 0a 00 	lea    0xa1a9a(%rip),%rdx        # 0x14031a288
1402787ee:	48 8b cf             	mov    %rdi,%rcx
1402787f1:	e8 0a 01 ec ff       	call   0x140138900
1402787f6:	48 8b f0             	mov    %rax,%rsi
1402787f9:	48 85 c0             	test   %rax,%rax
1402787fc:	74 43                	je     0x140278841
1402787fe:	83 78 08 04          	cmpl   $0x4,0x8(%rax)
140278802:	0f 85 67 02 00 00    	jne    0x140278a6f
140278808:	48 8b 4b 20          	mov    0x20(%rbx),%rcx
14027880c:	48 8d 15 45 4a 11 00 	lea    0x114a45(%rip),%rdx        # 0x14038d258
140278813:	41 b8 59 04 00 00    	mov    $0x459,%r8d
140278819:	e8 a2 35 e7 ff       	call   0x1400ebdc0
14027881e:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
140278822:	48 8d 15 2f 4a 11 00 	lea    0x114a2f(%rip),%rdx        # 0x14038d258
140278829:	41 b8 59 04 00 00    	mov    $0x459,%r8d
14027882f:	e8 bc 18 eb ff       	call   0x14012a0f0
140278834:	48 89 43 20          	mov    %rax,0x20(%rbx)
140278838:	48 85 c0             	test   %rax,%rax
14027883b:	0f 84 2e 02 00 00    	je     0x140278a6f
140278841:	48 8d 15 ac 12 07 00 	lea    0x712ac(%rip),%rdx        # 0x1402e9af4
140278848:	48 89 6c 24 30       	mov    %rbp,0x30(%rsp)
14027884d:	48 8b cf             	mov    %rdi,%rcx
140278850:	e8 ab 00 ec ff       	call   0x140138900
140278855:	48 8b e8             	mov    %rax,%rbp
140278858:	48 85 c0             	test   %rax,%rax
14027885b:	74 2f                	je     0x14027888c
14027885d:	48 8b 43 30          	mov    0x30(%rbx),%rax
140278861:	48 85 c0             	test   %rax,%rax
140278864:	75 12                	jne    0x140278878
140278866:	e8 75 88 e7 ff       	call   0x1400f10e0
14027886b:	48 89 43 30          	mov    %rax,0x30(%rbx)
14027886f:	48 85 c0             	test   %rax,%rax
140278872:	0f 84 f2 01 00 00    	je     0x140278a6a
140278878:	48 8d 53 30          	lea    0x30(%rbx),%rdx
14027887c:	48 8b cd             	mov    %rbp,%rcx
14027887f:	e8 8c f8 eb ff       	call   0x140138110
140278884:	85 c0                	test   %eax,%eax
140278886:	0f 84 de 01 00 00    	je     0x140278a6a
14027888c:	48 8d 15 c5 56 07 00 	lea    0x756c5(%rip),%rdx        # 0x1402edf58
140278893:	48 8b cf             	mov    %rdi,%rcx
140278896:	e8 65 00 ec ff       	call   0x140138900
14027889b:	48 8b e8             	mov    %rax,%rbp
14027889e:	48 85 c0             	test   %rax,%rax
1402788a1:	74 2f                	je     0x1402788d2
1402788a3:	48 8b 43 38          	mov    0x38(%rbx),%rax
1402788a7:	48 85 c0             	test   %rax,%rax
1402788aa:	75 12                	jne    0x1402788be
1402788ac:	e8 2f 88 e7 ff       	call   0x1400f10e0
1402788b1:	48 89 43 38          	mov    %rax,0x38(%rbx)
1402788b5:	48 85 c0             	test   %rax,%rax
1402788b8:	0f 84 ac 01 00 00    	je     0x140278a6a
1402788be:	48 8d 53 38          	lea    0x38(%rbx),%rdx
1402788c2:	48 8b cd             	mov    %rbp,%rcx
1402788c5:	e8 46 f8 eb ff       	call   0x140138110
1402788ca:	85 c0                	test   %eax,%eax
1402788cc:	0f 84 98 01 00 00    	je     0x140278a6a
1402788d2:	48 8d 15 a3 6d 07 00 	lea    0x76da3(%rip),%rdx        # 0x1402ef67c
1402788d9:	48 8b cf             	mov    %rdi,%rcx
1402788dc:	e8 1f 00 ec ff       	call   0x140138900
1402788e1:	48 8b e8             	mov    %rax,%rbp
1402788e4:	48 85 c0             	test   %rax,%rax
1402788e7:	74 2f                	je     0x140278918
1402788e9:	48 8b 43 40          	mov    0x40(%rbx),%rax
1402788ed:	48 85 c0             	test   %rax,%rax
1402788f0:	75 12                	jne    0x140278904
1402788f2:	e8 e9 87 e7 ff       	call   0x1400f10e0
1402788f7:	48 89 43 40          	mov    %rax,0x40(%rbx)
1402788fb:	48 85 c0             	test   %rax,%rax
1402788fe:	0f 84 66 01 00 00    	je     0x140278a6a
140278904:	48 8d 53 40          	lea    0x40(%rbx),%rdx
140278908:	48 8b cd             	mov    %rbp,%rcx
14027890b:	e8 00 f8 eb ff       	call   0x140138110
140278910:	85 c0                	test   %eax,%eax
140278912:	0f 84 52 01 00 00    	je     0x140278a6a
140278918:	48 8d 15 c5 e6 09 00 	lea    0x9e6c5(%rip),%rdx        # 0x140316fe4
14027891f:	48 8b cf             	mov    %rdi,%rcx
140278922:	e8 d9 ff eb ff       	call   0x140138900
140278927:	48 8b e8             	mov    %rax,%rbp
14027892a:	48 85 c0             	test   %rax,%rax
14027892d:	74 2f                	je     0x14027895e
14027892f:	48 8b 43 48          	mov    0x48(%rbx),%rax
140278933:	48 85 c0             	test   %rax,%rax
140278936:	75 12                	jne    0x14027894a
140278938:	e8 a3 87 e7 ff       	call   0x1400f10e0
14027893d:	48 89 43 48          	mov    %rax,0x48(%rbx)
140278941:	48 85 c0             	test   %rax,%rax
140278944:	0f 84 20 01 00 00    	je     0x140278a6a
14027894a:	48 8d 53 48          	lea    0x48(%rbx),%rdx
14027894e:	48 8b cd             	mov    %rbp,%rcx
140278951:	e8 ba f7 eb ff       	call   0x140138110
140278956:	85 c0                	test   %eax,%eax
140278958:	0f 84 0c 01 00 00    	je     0x140278a6a
14027895e:	48 8d 15 8b e6 09 00 	lea    0x9e68b(%rip),%rdx        # 0x140316ff0
140278965:	48 8b cf             	mov    %rdi,%rcx
140278968:	e8 93 ff eb ff       	call   0x140138900
14027896d:	48 8b e8             	mov    %rax,%rbp
140278970:	48 85 c0             	test   %rax,%rax
140278973:	74 2f                	je     0x1402789a4
140278975:	48 8b 43 50          	mov    0x50(%rbx),%rax
140278979:	48 85 c0             	test   %rax,%rax
14027897c:	75 12                	jne    0x140278990
14027897e:	e8 5d 87 e7 ff       	call   0x1400f10e0
140278983:	48 89 43 50          	mov    %rax,0x50(%rbx)
140278987:	48 85 c0             	test   %rax,%rax
14027898a:	0f 84 da 00 00 00    	je     0x140278a6a
140278990:	48 8d 53 50          	lea    0x50(%rbx),%rdx
140278994:	48 8b cd             	mov    %rbp,%rcx
140278997:	e8 74 f7 eb ff       	call   0x140138110
14027899c:	85 c0                	test   %eax,%eax
14027899e:	0f 84 c6 00 00 00    	je     0x140278a6a
1402789a4:	48 8d 15 71 8c 09 00 	lea    0x98c71(%rip),%rdx        # 0x14031161c
1402789ab:	48 8b cf             	mov    %rdi,%rcx
1402789ae:	e8 4d ff eb ff       	call   0x140138900
1402789b3:	48 8b f0             	mov    %rax,%rsi
1402789b6:	48 85 c0             	test   %rax,%rax
1402789b9:	74 4b                	je     0x140278a06
1402789bb:	83 78 08 05          	cmpl   $0x5,0x8(%rax)
1402789bf:	0f 85 a5 00 00 00    	jne    0x140278a6a
1402789c5:	48 8b 4b 60          	mov    0x60(%rbx),%rcx
1402789c9:	48 8d 15 88 48 11 00 	lea    0x114888(%rip),%rdx        # 0x14038d258
1402789d0:	41 b8 61 04 00 00    	mov    $0x461,%r8d
1402789d6:	e8 e5 33 e7 ff       	call   0x1400ebdc0
1402789db:	48 8b 46 18          	mov    0x18(%rsi),%rax
1402789df:	4c 8d 05 72 48 11 00 	lea    0x114872(%rip),%r8        # 0x14038d258
1402789e6:	48 89 43 70          	mov    %rax,0x70(%rbx)
1402789ea:	41 b9 61 04 00 00    	mov    $0x461,%r9d
1402789f0:	48 8b 56 18          	mov    0x18(%rsi),%rdx
1402789f4:	48 8b 4e 10          	mov    0x10(%rsi),%rcx
1402789f8:	e8 33 16 eb ff       	call   0x14012a030
1402789fd:	48 89 43 60          	mov    %rax,0x60(%rbx)
140278a01:	48 85 c0             	test   %rax,%rax
140278a04:	74 64                	je     0x140278a6a
140278a06:	48 8d 15 cb e5 09 00 	lea    0x9e5cb(%rip),%rdx        # 0x140316fd8
140278a0d:	48 8b cf             	mov    %rdi,%rcx
140278a10:	e8 eb fe eb ff       	call   0x140138900
140278a15:	48 8b f8             	mov    %rax,%rdi
140278a18:	48 85 c0             	test   %rax,%rax
140278a1b:	74 47                	je     0x140278a64
140278a1d:	83 78 08 05          	cmpl   $0x5,0x8(%rax)
140278a21:	75 47                	jne    0x140278a6a
140278a23:	48 8b 4b 58          	mov    0x58(%rbx),%rcx
140278a27:	48 8d 15 2a 48 11 00 	lea    0x11482a(%rip),%rdx        # 0x14038d258
140278a2e:	41 b8 63 04 00 00    	mov    $0x463,%r8d
140278a34:	e8 87 33 e7 ff       	call   0x1400ebdc0
140278a39:	48 8b 47 18          	mov    0x18(%rdi),%rax
140278a3d:	4c 8d 05 14 48 11 00 	lea    0x114814(%rip),%r8        # 0x14038d258
140278a44:	48 89 43 68          	mov    %rax,0x68(%rbx)
140278a48:	41 b9 63 04 00 00    	mov    $0x463,%r9d
140278a4e:	48 8b 57 18          	mov    0x18(%rdi),%rdx
140278a52:	48 8b 4f 10          	mov    0x10(%rdi),%rcx
140278a56:	e8 d5 15 eb ff       	call   0x14012a030
140278a5b:	48 89 43 58          	mov    %rax,0x58(%rbx)
140278a5f:	48 85 c0             	test   %rax,%rax
140278a62:	74 06                	je     0x140278a6a
140278a64:	41 be 01 00 00 00    	mov    $0x1,%r14d
140278a6a:	48 8b 6c 24 30       	mov    0x30(%rsp),%rbp
140278a6f:	48 8b 74 24 38       	mov    0x38(%rsp),%rsi
140278a74:	33 c9                	xor    %ecx,%ecx
140278a76:	e8 f5 0a ed ff       	call   0x140149570
140278a7b:	48 8b 5c 24 40       	mov    0x40(%rsp),%rbx
140278a80:	41 8b c6             	mov    %r14d,%eax
140278a83:	48 8b 7c 24 48       	mov    0x48(%rsp),%rdi
140278a88:	48 83 c4 20          	add    $0x20,%rsp
140278a8c:	41 5e                	pop    %r14
140278a8e:	c3                   	ret
140278a8f:	cc                   	int3
140278a90:	48 8d 05 19 c9 15 00 	lea    0x15c919(%rip),%rax        # 0x1403d53b0
140278a97:	c3                   	ret
140278a98:	cc                   	int3
140278a99:	cc                   	int3
140278a9a:	cc                   	int3
140278a9b:	cc                   	int3
140278a9c:	cc                   	int3
140278a9d:	cc                   	int3
140278a9e:	cc                   	int3
140278a9f:	cc                   	int3
140278aa0:	48 89 5c 24 08       	mov    %rbx,0x8(%rsp)
140278aa5:	57                   	push   %rdi
140278aa6:	b8 20 00 00 00       	mov    $0x20,%eax
140278aab:	e8 80 80 03 00       	call   0x1402b0b30
140278ab0:	48 2b e0             	sub    %rax,%rsp
140278ab3:	48 8b d9             	mov    %rcx,%rbx
140278ab6:	e8 25 87 e0 ff       	call   0x1400811e0
140278abb:	85 c0                	test   %eax,%eax
140278abd:	74 35                	je     0x140278af4
140278abf:	48 85 db             	test   %rbx,%rbx
140278ac2:	74 30                	je     0x140278af4
140278ac4:	48 8b 0b             	mov    (%rbx),%rcx
140278ac7:	33 d2                	xor    %edx,%edx
140278ac9:	e8 c2 35 ed ff       	call   0x14014c090
140278ace:	48 8b f8             	mov    %rax,%rdi
140278ad1:	48 85 c0             	test   %rax,%rax
140278ad4:	74 1e                	je     0x140278af4
140278ad6:	48 83 bb 80 00 00 00 	cmpq   $0x0,0x80(%rbx)
140278add:	00
140278ade:	75 21                	jne    0x140278b01
140278ae0:	48 8b cb             	mov    %rbx,%rcx
140278ae3:	e8 88 15 00 00       	call   0x14027a070
140278ae8:	85 c0                	test   %eax,%eax
140278aea:	75 55                	jne    0x140278b41
140278aec:	48 8b cf             	mov    %rdi,%rcx
140278aef:	e8 0c 33 ed ff       	call   0x14014be00
140278af4:	33 c0                	xor    %eax,%eax
140278af6:	48 8b 5c 24 30       	mov    0x30(%rsp),%rbx
140278afb:	48 83 c4 20          	add    $0x20,%rsp
140278aff:	5f                   	pop    %rdi