	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function key_callback
_key_callback:                          ## @key_callback
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%r13
	pushq	%r12
	pushq	%rbx
	subq	$24, %rsp
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
                                        ## kill: def $esi killed $esi def $rsi
	movq	_GLFW_PRESS@GOTPCREL(%rip), %rax
	cmpl	%ecx, (%rax)
	jne	LBB0_36
## %bb.1:
	addl	$-128, %esi
	cmpl	$20, %esi
	ja	LBB0_36
## %bb.2:
	movq	%rdi, %rbx
	leaq	LJTI0_0(%rip), %rax
	movslq	(%rax,%rsi,4), %rcx
	addq	%rax, %rcx
	jmpq	*%rcx
LBB0_29:
	movq	_GLFW_MOD_ALT@GOTPCREL(%rip), %rax
	cmpl	%r8d, (%rax)
	jne	LBB0_36
## %bb.30:
	movq	%rbx, %rdi
	callq	_glfwGetWindowMonitor
	testl	%eax, %eax
	je	LBB0_32
## %bb.31:
	movl	_key_callback.x(%rip), %edx
	movl	_key_callback.y(%rip), %ecx
	movl	_key_callback.width(%rip), %r8d
	movl	_key_callback.height(%rip), %r9d
	movl	$0, (%rsp)
	movq	%rbx, %rdi
	xorl	%esi, %esi
	jmp	LBB0_33
LBB0_15:
	movq	_wait_events@GOTPCREL(%rip), %rax
	xorl	%ecx, %ecx
	cmpl	$0, (%rax)
	sete	%cl
	movl	%ecx, (%rax)
	leaq	L_.str.7(%rip), %rax
	leaq	L_.str.8(%rip), %rsi
	cmoveq	%rax, %rsi
	leaq	L_.str.6(%rip), %rdi
	xorl	%eax, %eax
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_printf                         ## TAILCALL
LBB0_21:
	movq	%rbx, %rdi
	xorl	%esi, %esi
	xorl	%edx, %edx
	callq	_glfwSetCursorPos
	jmp	LBB0_34
LBB0_16:
	movq	_track_cursor@GOTPCREL(%rip), %rax
	xorl	%ecx, %ecx
	cmpl	$0, (%rax)
	sete	%cl
	movl	%ecx, (%rax)
	jne	LBB0_4
## %bb.17:
	movq	_tracking_cursor@GOTPCREL(%rip), %rax
	jmp	LBB0_18
LBB0_14:
	movq	_swap_interval@GOTPCREL(%rip), %rbx
	movl	$1, %esi
	subl	(%rbx), %esi
	movl	%esi, (%rbx)
	leaq	L_.str.5(%rip), %rdi
	xorl	%eax, %eax
	callq	_printf
	movl	(%rbx), %edi
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_glfwSwapInterval               ## TAILCALL
LBB0_9:
	xorl	%eax, %eax
	callq	_glfwRawMouseMotionSupported
	testl	%eax, %eax
	je	LBB0_36
## %bb.10:
	movq	_GLFW_RAW_MOUSE_MOTION@GOTPCREL(%rip), %r14
	movl	(%r14), %esi
	movq	%rbx, %rdi
	callq	_glfwGetInputMode
	movl	(%r14), %esi
	testl	%eax, %eax
	je	LBB0_13
## %bb.11:
	movq	_GLFW_FALSE@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%rbx, %rdi
	callq	_glfwSetInputMode
	leaq	L_str.11(%rip), %rdi
	jmp	LBB0_12
LBB0_35:
	leaq	-56(%rbp), %r14
	leaq	-48(%rbp), %r15
	movq	%rbx, %rdi
	movq	%r14, %rsi
	movq	%r15, %rdx
	callq	_glfwGetCursorPos
	movsd	-56(%rbp), %xmm0                ## xmm0 = mem[0],zero
	movq	_cursor_x@GOTPCREL(%rip), %r12
	movapd	%xmm0, %xmm2
	subsd	(%r12), %xmm2
	movsd	-48(%rbp), %xmm1                ## xmm1 = mem[0],zero
	movq	_cursor_y@GOTPCREL(%rip), %r13
	movapd	%xmm1, %xmm3
	subsd	(%r13), %xmm3
	leaq	L_.str.9(%rip), %rdi
	movb	$4, %al
	callq	_printf
	movsd	-56(%rbp), %xmm0                ## xmm0 = mem[0],zero
	movsd	%xmm0, (%r12)
	movsd	-48(%rbp), %xmm1                ## xmm1 = mem[0],zero
	movsd	%xmm1, (%r13)
	cvttsd2si	%xmm0, %esi
	cvttsd2si	%xmm1, %edx
	movq	%rbx, %rdi
	callq	_glfwSetCursorPos
	movq	%rbx, %rdi
	movq	%r14, %rsi
	movq	%r15, %rdx
	callq	_glfwGetCursorPos
	movsd	-56(%rbp), %xmm0                ## xmm0 = mem[0],zero
	movsd	-48(%rbp), %xmm1                ## xmm1 = mem[0],zero
	movapd	%xmm0, %xmm2
	subsd	(%r12), %xmm2
	movapd	%xmm1, %xmm3
	subsd	(%r13), %xmm3
	leaq	L_.str.10(%rip), %rdi
	movb	$4, %al
	callq	_printf
	movsd	-56(%rbp), %xmm0                ## xmm0 = mem[0],zero
	movsd	%xmm0, (%r12)
	movsd	-48(%rbp), %xmm0                ## xmm0 = mem[0],zero
	movsd	%xmm0, (%r13)
	jmp	LBB0_36
LBB0_8:
	movq	_GLFW_CURSOR@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_GLFW_CURSOR_HIDDEN@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%rbx, %rdi
	callq	_glfwSetInputMode
	leaq	L_str.12(%rip), %rdi
	jmp	LBB0_12
LBB0_5:
	movq	_GLFW_CURSOR@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%rbx, %rdi
	callq	_glfwGetInputMode
	movq	_GLFW_CURSOR_DISABLED@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	jne	LBB0_37
LBB0_6:
	movq	_GLFW_CURSOR@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_GLFW_CURSOR_NORMAL@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%rbx, %rdi
	callq	_glfwSetInputMode
	movq	_cursor_x@GOTPCREL(%rip), %rsi
	movq	_cursor_y@GOTPCREL(%rip), %rdx
	movq	%rbx, %rdi
	callq	_glfwGetCursorPos
	leaq	L_str.14(%rip), %rdi
	jmp	LBB0_12
LBB0_22:
	leaq	-56(%rbp), %rsi
	leaq	-48(%rbp), %rdx
	movq	%rbx, %rdi
	callq	_glfwGetWindowSize
	movl	-56(%rbp), %esi
	decl	%esi
	movl	-48(%rbp), %edx
	decl	%edx
	movq	%rbx, %rdi
	callq	_glfwSetCursorPos
	movq	_cursor_x@GOTPCREL(%rip), %rsi
	movq	_cursor_y@GOTPCREL(%rip), %rdx
	movq	%rbx, %rdi
	callq	_glfwGetCursorPos
	jmp	LBB0_36
LBB0_7:
	movq	_GLFW_CURSOR@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	_GLFW_CURSOR_DISABLED@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%rbx, %rdi
	callq	_glfwSetInputMode
	leaq	L_str.13(%rip), %rdi
	jmp	LBB0_12
LBB0_3:
	movq	_animate_cursor@GOTPCREL(%rip), %rax
	xorl	%ecx, %ecx
	cmpl	$0, (%rax)
	sete	%cl
	movl	%ecx, (%rax)
	je	LBB0_36
LBB0_4:
	movq	%rbx, %rdi
	xorl	%esi, %esi
	jmp	LBB0_20
LBB0_36:
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_28:
	movq	_standard_cursors@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	40(%rax), %rsi
	jmp	LBB0_19
LBB0_27:
	movq	_standard_cursors@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	32(%rax), %rsi
	jmp	LBB0_19
LBB0_26:
	movq	_standard_cursors@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	24(%rax), %rsi
	jmp	LBB0_19
LBB0_25:
	movq	_standard_cursors@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	16(%rax), %rsi
	jmp	LBB0_19
LBB0_24:
	movq	_standard_cursors@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	8(%rax), %rsi
	jmp	LBB0_19
LBB0_23:
	movq	_standard_cursors@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
LBB0_18:
	movq	(%rax), %rsi
LBB0_19:
	movq	%rbx, %rdi
LBB0_20:
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_glfwSetCursor                  ## TAILCALL
LBB0_37:
	movq	_GLFW_TRUE@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%rbx, %rdi
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_glfwSetWindowShouldClose       ## TAILCALL
LBB0_32:
	xorl	%eax, %eax
	callq	_glfwGetPrimaryMonitor
	movq	%rax, %r14
	movq	%rax, %rdi
	callq	_glfwGetVideoMode
	movq	%rax, %r15
	leaq	_key_callback.x(%rip), %rsi
	leaq	_key_callback.y(%rip), %rdx
	movq	%rbx, %rdi
	callq	_glfwGetWindowPos
	leaq	_key_callback.width(%rip), %rsi
	leaq	_key_callback.height(%rip), %rdx
	movq	%rbx, %rdi
	callq	_glfwGetWindowSize
	movl	(%r15), %r8d
	movl	4(%r15), %r9d
	movl	8(%r15), %eax
	movl	%eax, (%rsp)
	movq	%rbx, %rdi
	movq	%r14, %rsi
	xorl	%edx, %edx
	xorl	%ecx, %ecx
LBB0_33:
	callq	_glfwSetWindowMonitor
LBB0_34:
	movq	_cursor_x@GOTPCREL(%rip), %rsi
	movq	_cursor_y@GOTPCREL(%rip), %rdx
	movq	%rbx, %rdi
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_glfwGetCursorPos               ## TAILCALL
LBB0_13:
	movq	_GLFW_TRUE@GOTPCREL(%rip), %rax
	movl	(%rax), %edx
	movq	%rbx, %rdi
	callq	_glfwSetInputMode
	leaq	L_str(%rip), %rdi
LBB0_12:
	addq	$24, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_puts                           ## TAILCALL
	.cfi_endproc
	.p2align	2, 0x90
	.data_region jt32
.set L0_0_set_15, LBB0_15-LJTI0_0
.set L0_0_set_21, LBB0_21-LJTI0_0
.set L0_0_set_16, LBB0_16-LJTI0_0
.set L0_0_set_14, LBB0_14-LJTI0_0
.set L0_0_set_9, LBB0_9-LJTI0_0
.set L0_0_set_35, LBB0_35-LJTI0_0
.set L0_0_set_6, LBB0_6-LJTI0_0
.set L0_0_set_8, LBB0_8-LJTI0_0
.set L0_0_set_29, LBB0_29-LJTI0_0
.set L0_0_set_5, LBB0_5-LJTI0_0
.set L0_0_set_22, LBB0_22-LJTI0_0
.set L0_0_set_7, LBB0_7-LJTI0_0
.set L0_0_set_3, LBB0_3-LJTI0_0
.set L0_0_set_28, LBB0_28-LJTI0_0
.set L0_0_set_27, LBB0_27-LJTI0_0
.set L0_0_set_26, LBB0_26-LJTI0_0
.set L0_0_set_25, LBB0_25-LJTI0_0
.set L0_0_set_24, LBB0_24-LJTI0_0
.set L0_0_set_23, LBB0_23-LJTI0_0
.set L0_0_set_4, LBB0_4-LJTI0_0
LJTI0_0:
	.long	L0_0_set_15
	.long	L0_0_set_21
	.long	L0_0_set_16
	.long	L0_0_set_14
	.long	L0_0_set_9
	.long	L0_0_set_35
	.long	L0_0_set_6
	.long	L0_0_set_8
	.long	L0_0_set_29
	.long	L0_0_set_5
	.long	L0_0_set_29
	.long	L0_0_set_22
	.long	L0_0_set_7
	.long	L0_0_set_3
	.long	L0_0_set_28
	.long	L0_0_set_27
	.long	L0_0_set_26
	.long	L0_0_set_25
	.long	L0_0_set_24
	.long	L0_0_set_23
	.long	L0_0_set_4
	.end_data_region
                                        ## -- End function
	.comm	_GLFW_PRESS,4,2                 ## @GLFW_PRESS
	.comm	_animate_cursor,4,2             ## @animate_cursor
	.comm	_GLFW_CURSOR,4,2                ## @GLFW_CURSOR
	.comm	_GLFW_CURSOR_DISABLED,4,2       ## @GLFW_CURSOR_DISABLED
	.comm	_GLFW_TRUE,4,2                  ## @GLFW_TRUE
	.comm	_GLFW_CURSOR_NORMAL,4,2         ## @GLFW_CURSOR_NORMAL
	.comm	_cursor_x,8,3                   ## @cursor_x
	.comm	_cursor_y,8,3                   ## @cursor_y
	.comm	_GLFW_CURSOR_HIDDEN,4,2         ## @GLFW_CURSOR_HIDDEN
	.comm	_GLFW_RAW_MOUSE_MOTION,4,2      ## @GLFW_RAW_MOUSE_MOTION
	.comm	_GLFW_FALSE,4,2                 ## @GLFW_FALSE
	.comm	_swap_interval,4,2              ## @swap_interval
	.section	__TEXT,__cstring,cstring_literals
L_.str.5:                               ## @.str.5
	.asciz	"(( swap interval: %i ))\n"

	.comm	_wait_events,4,2                ## @wait_events
L_.str.6:                               ## @.str.6
	.asciz	"(( %sing for events ))\n"

L_.str.7:                               ## @.str.7
	.asciz	"wait"

L_.str.8:                               ## @.str.8
	.asciz	"poll"

	.comm	_track_cursor,4,2               ## @track_cursor
	.comm	_tracking_cursor,8,3            ## @tracking_cursor
L_.str.9:                               ## @.str.9
	.asciz	"Query before set: %f %f (%+f %+f)\n"

L_.str.10:                              ## @.str.10
	.asciz	"Query after set: %f %f (%+f %+f)\n"

	.comm	_standard_cursors,8,3           ## @standard_cursors
.zerofill __DATA,__bss,_key_callback.x,4,2 ## @key_callback.x
.zerofill __DATA,__bss,_key_callback.y,4,2 ## @key_callback.y
.zerofill __DATA,__bss,_key_callback.width,4,2 ## @key_callback.width
.zerofill __DATA,__bss,_key_callback.height,4,2 ## @key_callback.height
	.comm	_GLFW_MOD_ALT,4,2               ## @GLFW_MOD_ALT
L_str:                                  ## @str
	.asciz	"(( raw input is enabled ))"

L_str.11:                               ## @str.11
	.asciz	"(( raw input is disabled ))"

L_str.12:                               ## @str.12
	.asciz	"(( cursor is hidden ))"

L_str.13:                               ## @str.13
	.asciz	"(( cursor is disabled ))"

L_str.14:                               ## @str.14
	.asciz	"(( cursor is normal ))"

	.no_dead_strip	_key_callback
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function key_callback
_key_callback:                          ; @key_callback
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #96
	.cfi_def_cfa_offset 96
	stp	x22, x21, [sp, #48]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #64]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #80]             ; 16-byte Folded Spill
	add	x29, sp, #80
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
Lloh0:
	adrp	x8, _GLFW_PRESS@GOTPAGE
Lloh1:
	ldr	x8, [x8, _GLFW_PRESS@GOTPAGEOFF]
Lloh2:
	ldr	w8, [x8]
	cmp	w8, w3
	b.ne	LBB0_22
; %bb.1:
	sub	w8, w1, #128
	cmp	w8, #20
	b.hi	LBB0_22
; %bb.2:
	mov	x19, x0
Lloh3:
	adrp	x9, lJTI0_0@PAGE
Lloh4:
	add	x9, x9, lJTI0_0@PAGEOFF
	adr	x10, LBB0_3
	ldrb	w11, [x9, x8]
	add	x10, x10, x11, lsl #2
	br	x10
LBB0_3:
Lloh5:
	adrp	x8, _GLFW_MOD_ALT@GOTPAGE
Lloh6:
	ldr	x8, [x8, _GLFW_MOD_ALT@GOTPAGEOFF]
Lloh7:
	ldr	w8, [x8]
	cmp	w8, w4
	b.ne	LBB0_22
; %bb.4:
	mov	x0, x19
	bl	_glfwGetWindowMonitor
	cbz	w0, LBB0_33
; %bb.5:
Lloh8:
	adrp	x8, _key_callback.x@PAGE
Lloh9:
	ldr	w2, [x8, _key_callback.x@PAGEOFF]
Lloh10:
	adrp	x8, _key_callback.y@PAGE
Lloh11:
	ldr	w3, [x8, _key_callback.y@PAGEOFF]
Lloh12:
	adrp	x8, _key_callback.width@PAGE
Lloh13:
	ldr	w4, [x8, _key_callback.width@PAGEOFF]
Lloh14:
	adrp	x8, _key_callback.height@PAGE
Lloh15:
	ldr	w5, [x8, _key_callback.height@PAGEOFF]
	mov	x0, x19
	mov	x1, #0
	mov	w6, #0
	b	LBB0_34
LBB0_6:
Lloh16:
	adrp	x8, _wait_events@GOTPAGE
Lloh17:
	ldr	x8, [x8, _wait_events@GOTPAGEOFF]
	ldr	w9, [x8]
	cmp	w9, #0
	cset	w9, eq
	str	w9, [x8]
Lloh18:
	adrp	x8, l_.str.8@PAGE
Lloh19:
	add	x8, x8, l_.str.8@PAGEOFF
Lloh20:
	adrp	x9, l_.str.7@PAGE
Lloh21:
	add	x9, x9, l_.str.7@PAGEOFF
	csel	x8, x9, x8, eq
	str	x8, [sp]
Lloh22:
	adrp	x0, l_.str.6@PAGE
Lloh23:
	add	x0, x0, l_.str.6@PAGEOFF
	bl	_printf
	b	LBB0_22
LBB0_7:
	mov	x0, x19
	mov	w1, #0
	mov	w2, #0
	bl	_glfwSetCursorPos
	b	LBB0_35
LBB0_8:
Lloh24:
	adrp	x8, _track_cursor@GOTPAGE
Lloh25:
	ldr	x8, [x8, _track_cursor@GOTPAGEOFF]
	ldr	w9, [x8]
	cmp	w9, #0
	cset	w10, eq
	str	w10, [x8]
	cbnz	w9, LBB0_21
; %bb.9:
Lloh26:
	adrp	x8, _tracking_cursor@GOTPAGE
Lloh27:
	ldr	x8, [x8, _tracking_cursor@GOTPAGEOFF]
	b	LBB0_29
LBB0_10:
Lloh28:
	adrp	x19, _swap_interval@GOTPAGE
Lloh29:
	ldr	x19, [x19, _swap_interval@GOTPAGEOFF]
	ldr	w8, [x19]
	mov	w9, #1
	sub	w8, w9, w8
	str	w8, [x19]
	str	x8, [sp]
Lloh30:
	adrp	x0, l_.str.5@PAGE
Lloh31:
	add	x0, x0, l_.str.5@PAGEOFF
	bl	_printf
	ldr	w0, [x19]
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #64]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #48]             ; 16-byte Folded Reload
	add	sp, sp, #96
	b	_glfwSwapInterval
LBB0_11:
	bl	_glfwRawMouseMotionSupported
	cbz	w0, LBB0_22
; %bb.12:
Lloh32:
	adrp	x20, _GLFW_RAW_MOUSE_MOTION@GOTPAGE
Lloh33:
	ldr	x20, [x20, _GLFW_RAW_MOUSE_MOTION@GOTPAGEOFF]
	ldr	w1, [x20]
	mov	x0, x19
	bl	_glfwGetInputMode
	ldr	w1, [x20]
	cbz	w0, LBB0_36
; %bb.13:
Lloh34:
	adrp	x8, _GLFW_FALSE@GOTPAGE
Lloh35:
	ldr	x8, [x8, _GLFW_FALSE@GOTPAGEOFF]
Lloh36:
	ldr	w2, [x8]
	mov	x0, x19
	bl	_glfwSetInputMode
Lloh37:
	adrp	x0, l_str.11@PAGE
Lloh38:
	add	x0, x0, l_str.11@PAGEOFF
	b	LBB0_37
LBB0_14:
	add	x1, sp, #40
	add	x2, sp, #32
	mov	x0, x19
	bl	_glfwGetCursorPos
	ldp	d1, d0, [sp, #32]
Lloh39:
	adrp	x20, _cursor_x@GOTPAGE
Lloh40:
	ldr	x20, [x20, _cursor_x@GOTPAGEOFF]
	ldr	d2, [x20]
	fsub	d2, d0, d2
Lloh41:
	adrp	x21, _cursor_y@GOTPAGE
Lloh42:
	ldr	x21, [x21, _cursor_y@GOTPAGEOFF]
	ldr	d3, [x21]
	fsub	d3, d1, d3
	str	d3, [sp, #24]
	str	d2, [sp, #16]
	str	d1, [sp, #8]
	str	d0, [sp]
Lloh43:
	adrp	x0, l_.str.9@PAGE
Lloh44:
	add	x0, x0, l_.str.9@PAGEOFF
	bl	_printf
	ldp	d1, d0, [sp, #32]
	str	d0, [x20]
	str	d1, [x21]
	fcvtzs	w1, d0
	fcvtzs	w2, d1
	mov	x0, x19
	bl	_glfwSetCursorPos
	add	x1, sp, #40
	add	x2, sp, #32
	mov	x0, x19
	bl	_glfwGetCursorPos
	ldp	d1, d0, [sp, #32]
	ldr	d2, [x20]
	fsub	d2, d0, d2
	ldr	d3, [x21]
	fsub	d3, d1, d3
	str	d3, [sp, #24]
	str	d2, [sp, #16]
	str	d1, [sp, #8]
	str	d0, [sp]
Lloh45:
	adrp	x0, l_.str.10@PAGE
Lloh46:
	add	x0, x0, l_.str.10@PAGEOFF
	bl	_printf
	ldr	d0, [sp, #40]
	str	d0, [x20]
	ldr	d0, [sp, #32]
	str	d0, [x21]
	b	LBB0_22
LBB0_15:
Lloh47:
	adrp	x8, _GLFW_CURSOR@GOTPAGE
Lloh48:
	ldr	x8, [x8, _GLFW_CURSOR@GOTPAGEOFF]
Lloh49:
	ldr	w1, [x8]
Lloh50:
	adrp	x8, _GLFW_CURSOR_HIDDEN@GOTPAGE
Lloh51:
	ldr	x8, [x8, _GLFW_CURSOR_HIDDEN@GOTPAGEOFF]
Lloh52:
	ldr	w2, [x8]
	mov	x0, x19
	bl	_glfwSetInputMode
Lloh53:
	adrp	x0, l_str.12@PAGE
Lloh54:
	add	x0, x0, l_str.12@PAGEOFF
	b	LBB0_37
LBB0_16:
Lloh55:
	adrp	x8, _GLFW_CURSOR@GOTPAGE
Lloh56:
	ldr	x8, [x8, _GLFW_CURSOR@GOTPAGEOFF]
Lloh57:
	ldr	w1, [x8]
	mov	x0, x19
	bl	_glfwGetInputMode
Lloh58:
	adrp	x8, _GLFW_CURSOR_DISABLED@GOTPAGE
Lloh59:
	ldr	x8, [x8, _GLFW_CURSOR_DISABLED@GOTPAGEOFF]
Lloh60:
	ldr	w8, [x8]
	cmp	w0, w8
	b.ne	LBB0_32
LBB0_17:
Lloh61:
	adrp	x8, _GLFW_CURSOR@GOTPAGE
Lloh62:
	ldr	x8, [x8, _GLFW_CURSOR@GOTPAGEOFF]
Lloh63:
	ldr	w1, [x8]
Lloh64:
	adrp	x8, _GLFW_CURSOR_NORMAL@GOTPAGE
Lloh65:
	ldr	x8, [x8, _GLFW_CURSOR_NORMAL@GOTPAGEOFF]
Lloh66:
	ldr	w2, [x8]
	mov	x0, x19
	bl	_glfwSetInputMode
Lloh67:
	adrp	x1, _cursor_x@GOTPAGE
Lloh68:
	ldr	x1, [x1, _cursor_x@GOTPAGEOFF]
Lloh69:
	adrp	x2, _cursor_y@GOTPAGE
Lloh70:
	ldr	x2, [x2, _cursor_y@GOTPAGEOFF]
	mov	x0, x19
	bl	_glfwGetCursorPos
Lloh71:
	adrp	x0, l_str.14@PAGE
Lloh72:
	add	x0, x0, l_str.14@PAGEOFF
	b	LBB0_37
LBB0_18:
	add	x1, sp, #40
	add	x2, sp, #32
	mov	x0, x19
	bl	_glfwGetWindowSize
	ldr	w8, [sp, #40]
	sub	w1, w8, #1
	ldr	w8, [sp, #32]
	sub	w2, w8, #1
	mov	x0, x19
	bl	_glfwSetCursorPos
Lloh73:
	adrp	x1, _cursor_x@GOTPAGE
Lloh74:
	ldr	x1, [x1, _cursor_x@GOTPAGEOFF]
Lloh75:
	adrp	x2, _cursor_y@GOTPAGE
Lloh76:
	ldr	x2, [x2, _cursor_y@GOTPAGEOFF]
	mov	x0, x19
	bl	_glfwGetCursorPos
	b	LBB0_22
LBB0_19:
Lloh77:
	adrp	x8, _GLFW_CURSOR@GOTPAGE
Lloh78:
	ldr	x8, [x8, _GLFW_CURSOR@GOTPAGEOFF]
Lloh79:
	ldr	w1, [x8]
Lloh80:
	adrp	x8, _GLFW_CURSOR_DISABLED@GOTPAGE
Lloh81:
	ldr	x8, [x8, _GLFW_CURSOR_DISABLED@GOTPAGEOFF]
Lloh82:
	ldr	w2, [x8]
	mov	x0, x19
	bl	_glfwSetInputMode
Lloh83:
	adrp	x0, l_str.13@PAGE
Lloh84:
	add	x0, x0, l_str.13@PAGEOFF
	b	LBB0_37
LBB0_20:
Lloh85:
	adrp	x8, _animate_cursor@GOTPAGE
Lloh86:
	ldr	x8, [x8, _animate_cursor@GOTPAGEOFF]
	ldr	w9, [x8]
	cmp	w9, #0
	cset	w10, eq
	str	w10, [x8]
	cbz	w9, LBB0_22
LBB0_21:
	mov	x0, x19
	mov	x1, #0
	b	LBB0_31
LBB0_22:
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #64]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #48]             ; 16-byte Folded Reload
	add	sp, sp, #96
	ret
LBB0_23:
Lloh87:
	adrp	x8, _standard_cursors@GOTPAGE
Lloh88:
	ldr	x8, [x8, _standard_cursors@GOTPAGEOFF]
Lloh89:
	ldr	x8, [x8]
	ldr	x1, [x8, #40]
	b	LBB0_30
LBB0_24:
Lloh90:
	adrp	x8, _standard_cursors@GOTPAGE
Lloh91:
	ldr	x8, [x8, _standard_cursors@GOTPAGEOFF]
Lloh92:
	ldr	x8, [x8]
	ldr	x1, [x8, #32]
	b	LBB0_30
LBB0_25:
Lloh93:
	adrp	x8, _standard_cursors@GOTPAGE
Lloh94:
	ldr	x8, [x8, _standard_cursors@GOTPAGEOFF]
Lloh95:
	ldr	x8, [x8]
	ldr	x1, [x8, #24]
	b	LBB0_30
LBB0_26:
Lloh96:
	adrp	x8, _standard_cursors@GOTPAGE
Lloh97:
	ldr	x8, [x8, _standard_cursors@GOTPAGEOFF]
Lloh98:
	ldr	x8, [x8]
	ldr	x1, [x8, #16]
	b	LBB0_30
LBB0_27:
Lloh99:
	adrp	x8, _standard_cursors@GOTPAGE
Lloh100:
	ldr	x8, [x8, _standard_cursors@GOTPAGEOFF]
Lloh101:
	ldr	x8, [x8]
	ldr	x1, [x8, #8]
	b	LBB0_30
LBB0_28:
Lloh102:
	adrp	x8, _standard_cursors@GOTPAGE
Lloh103:
	ldr	x8, [x8, _standard_cursors@GOTPAGEOFF]
Lloh104:
	ldr	x8, [x8]
LBB0_29:
	ldr	x1, [x8]
LBB0_30:
	mov	x0, x19
LBB0_31:
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #64]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #48]             ; 16-byte Folded Reload
	add	sp, sp, #96
	b	_glfwSetCursor
LBB0_32:
Lloh105:
	adrp	x8, _GLFW_TRUE@GOTPAGE
Lloh106:
	ldr	x8, [x8, _GLFW_TRUE@GOTPAGEOFF]
Lloh107:
	ldr	w1, [x8]
	mov	x0, x19
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #64]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #48]             ; 16-byte Folded Reload
	add	sp, sp, #96
	b	_glfwSetWindowShouldClose
LBB0_33:
	bl	_glfwGetPrimaryMonitor
	mov	x20, x0
	bl	_glfwGetVideoMode
	mov	x21, x0
Lloh108:
	adrp	x1, _key_callback.x@PAGE
Lloh109:
	add	x1, x1, _key_callback.x@PAGEOFF
Lloh110:
	adrp	x2, _key_callback.y@PAGE
Lloh111:
	add	x2, x2, _key_callback.y@PAGEOFF
	mov	x0, x19
	bl	_glfwGetWindowPos
Lloh112:
	adrp	x1, _key_callback.width@PAGE
Lloh113:
	add	x1, x1, _key_callback.width@PAGEOFF
Lloh114:
	adrp	x2, _key_callback.height@PAGE
Lloh115:
	add	x2, x2, _key_callback.height@PAGEOFF
	mov	x0, x19
	bl	_glfwGetWindowSize
	ldp	w4, w5, [x21]
	ldr	w6, [x21, #8]
	mov	x0, x19
	mov	x1, x20
	mov	w2, #0
	mov	w3, #0
LBB0_34:
	bl	_glfwSetWindowMonitor
LBB0_35:
Lloh116:
	adrp	x1, _cursor_x@GOTPAGE
Lloh117:
	ldr	x1, [x1, _cursor_x@GOTPAGEOFF]
Lloh118:
	adrp	x2, _cursor_y@GOTPAGE
Lloh119:
	ldr	x2, [x2, _cursor_y@GOTPAGEOFF]
	mov	x0, x19
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #64]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #48]             ; 16-byte Folded Reload
	add	sp, sp, #96
	b	_glfwGetCursorPos
LBB0_36:
Lloh120:
	adrp	x8, _GLFW_TRUE@GOTPAGE
Lloh121:
	ldr	x8, [x8, _GLFW_TRUE@GOTPAGEOFF]
Lloh122:
	ldr	w2, [x8]
	mov	x0, x19
	bl	_glfwSetInputMode
Lloh123:
	adrp	x0, l_str@PAGE
Lloh124:
	add	x0, x0, l_str@PAGEOFF
LBB0_37:
	ldp	x29, x30, [sp, #80]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #64]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #48]             ; 16-byte Folded Reload
	add	sp, sp, #96
	b	_puts
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpAdd	Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh5, Lloh6, Lloh7
	.loh AdrpLdr	Lloh14, Lloh15
	.loh AdrpAdrp	Lloh12, Lloh14
	.loh AdrpLdr	Lloh12, Lloh13
	.loh AdrpAdrp	Lloh10, Lloh12
	.loh AdrpLdr	Lloh10, Lloh11
	.loh AdrpAdrp	Lloh8, Lloh10
	.loh AdrpLdr	Lloh8, Lloh9
	.loh AdrpAdd	Lloh22, Lloh23
	.loh AdrpAdd	Lloh20, Lloh21
	.loh AdrpAdd	Lloh18, Lloh19
	.loh AdrpLdrGot	Lloh16, Lloh17
	.loh AdrpLdrGot	Lloh24, Lloh25
	.loh AdrpLdrGot	Lloh26, Lloh27
	.loh AdrpAdd	Lloh30, Lloh31
	.loh AdrpLdrGot	Lloh28, Lloh29
	.loh AdrpLdrGot	Lloh32, Lloh33
	.loh AdrpAdd	Lloh37, Lloh38
	.loh AdrpLdrGotLdr	Lloh34, Lloh35, Lloh36
	.loh AdrpAdd	Lloh45, Lloh46
	.loh AdrpAdd	Lloh43, Lloh44
	.loh AdrpLdrGot	Lloh41, Lloh42
	.loh AdrpLdrGot	Lloh39, Lloh40
	.loh AdrpAdd	Lloh53, Lloh54
	.loh AdrpLdrGotLdr	Lloh50, Lloh51, Lloh52
	.loh AdrpLdrGotLdr	Lloh47, Lloh48, Lloh49
	.loh AdrpLdrGotLdr	Lloh58, Lloh59, Lloh60
	.loh AdrpLdrGotLdr	Lloh55, Lloh56, Lloh57
	.loh AdrpAdd	Lloh71, Lloh72
	.loh AdrpLdrGot	Lloh69, Lloh70
	.loh AdrpLdrGot	Lloh67, Lloh68
	.loh AdrpLdrGotLdr	Lloh64, Lloh65, Lloh66
	.loh AdrpLdrGotLdr	Lloh61, Lloh62, Lloh63
	.loh AdrpLdrGot	Lloh75, Lloh76
	.loh AdrpLdrGot	Lloh73, Lloh74
	.loh AdrpAdd	Lloh83, Lloh84
	.loh AdrpLdrGotLdr	Lloh80, Lloh81, Lloh82
	.loh AdrpLdrGotLdr	Lloh77, Lloh78, Lloh79
	.loh AdrpLdrGot	Lloh85, Lloh86
	.loh AdrpLdrGotLdr	Lloh87, Lloh88, Lloh89
	.loh AdrpLdrGotLdr	Lloh90, Lloh91, Lloh92
	.loh AdrpLdrGotLdr	Lloh93, Lloh94, Lloh95
	.loh AdrpLdrGotLdr	Lloh96, Lloh97, Lloh98
	.loh AdrpLdrGotLdr	Lloh99, Lloh100, Lloh101
	.loh AdrpLdrGotLdr	Lloh102, Lloh103, Lloh104
	.loh AdrpLdrGotLdr	Lloh105, Lloh106, Lloh107
	.loh AdrpAdd	Lloh114, Lloh115
	.loh AdrpAdd	Lloh112, Lloh113
	.loh AdrpAdd	Lloh110, Lloh111
	.loh AdrpAdd	Lloh108, Lloh109
	.loh AdrpLdrGot	Lloh118, Lloh119
	.loh AdrpLdrGot	Lloh116, Lloh117
	.loh AdrpAdd	Lloh123, Lloh124
	.loh AdrpLdrGotLdr	Lloh120, Lloh121, Lloh122
	.cfi_endproc
	.section	__TEXT,__const
lJTI0_0:
	.byte	(LBB0_6-LBB0_3)>>2
	.byte	(LBB0_7-LBB0_3)>>2
	.byte	(LBB0_8-LBB0_3)>>2
	.byte	(LBB0_10-LBB0_3)>>2
	.byte	(LBB0_11-LBB0_3)>>2
	.byte	(LBB0_14-LBB0_3)>>2
	.byte	(LBB0_17-LBB0_3)>>2
	.byte	(LBB0_15-LBB0_3)>>2
	.byte	(LBB0_3-LBB0_3)>>2
	.byte	(LBB0_16-LBB0_3)>>2
	.byte	(LBB0_3-LBB0_3)>>2
	.byte	(LBB0_18-LBB0_3)>>2
	.byte	(LBB0_19-LBB0_3)>>2
	.byte	(LBB0_20-LBB0_3)>>2
	.byte	(LBB0_23-LBB0_3)>>2
	.byte	(LBB0_24-LBB0_3)>>2
	.byte	(LBB0_25-LBB0_3)>>2
	.byte	(LBB0_26-LBB0_3)>>2
	.byte	(LBB0_27-LBB0_3)>>2
	.byte	(LBB0_28-LBB0_3)>>2
	.byte	(LBB0_21-LBB0_3)>>2
                                        ; -- End function
	.comm	_GLFW_PRESS,4,2                 ; @GLFW_PRESS
	.comm	_animate_cursor,4,2             ; @animate_cursor
	.comm	_GLFW_CURSOR,4,2                ; @GLFW_CURSOR
	.comm	_GLFW_CURSOR_DISABLED,4,2       ; @GLFW_CURSOR_DISABLED
	.comm	_GLFW_TRUE,4,2                  ; @GLFW_TRUE
	.comm	_GLFW_CURSOR_NORMAL,4,2         ; @GLFW_CURSOR_NORMAL
	.comm	_cursor_x,8,3                   ; @cursor_x
	.comm	_cursor_y,8,3                   ; @cursor_y
	.comm	_GLFW_CURSOR_HIDDEN,4,2         ; @GLFW_CURSOR_HIDDEN
	.comm	_GLFW_RAW_MOUSE_MOTION,4,2      ; @GLFW_RAW_MOUSE_MOTION
	.comm	_GLFW_FALSE,4,2                 ; @GLFW_FALSE
	.comm	_swap_interval,4,2              ; @swap_interval
	.section	__TEXT,__cstring,cstring_literals
l_.str.5:                               ; @.str.5
	.asciz	"(( swap interval: %i ))\n"

	.comm	_wait_events,4,2                ; @wait_events
l_.str.6:                               ; @.str.6
	.asciz	"(( %sing for events ))\n"

l_.str.7:                               ; @.str.7
	.asciz	"wait"

l_.str.8:                               ; @.str.8
	.asciz	"poll"

	.comm	_track_cursor,4,2               ; @track_cursor
	.comm	_tracking_cursor,8,3            ; @tracking_cursor
l_.str.9:                               ; @.str.9
	.asciz	"Query before set: %f %f (%+f %+f)\n"

l_.str.10:                              ; @.str.10
	.asciz	"Query after set: %f %f (%+f %+f)\n"

	.comm	_standard_cursors,8,3           ; @standard_cursors
.zerofill __DATA,__bss,_key_callback.x,4,2 ; @key_callback.x
.zerofill __DATA,__bss,_key_callback.y,4,2 ; @key_callback.y
.zerofill __DATA,__bss,_key_callback.width,4,2 ; @key_callback.width
.zerofill __DATA,__bss,_key_callback.height,4,2 ; @key_callback.height
	.comm	_GLFW_MOD_ALT,4,2               ; @GLFW_MOD_ALT
l_str:                                  ; @str
	.asciz	"(( raw input is enabled ))"

l_str.11:                               ; @str.11
	.asciz	"(( raw input is disabled ))"

l_str.12:                               ; @str.12
	.asciz	"(( cursor is hidden ))"

l_str.13:                               ; @str.13
	.asciz	"(( cursor is disabled ))"

l_str.14:                               ; @str.14
	.asciz	"(( cursor is normal ))"

	.no_dead_strip	_key_callback
.subsections_via_symbols
