Ok(
    ExecutableDocument {
        items: [
            Spanning {
                item: Operation(
                    OperationDefinition {
                        ty: Query,
                        name: None,
                        variable_definitions: None,
                        directives: [],
                        selection_set: Spanning {
                            item: SelectionSet {
                                items: [
                                    Spanning {
                                        item: Field(
                                            Field {
                                                alias: None,
                                                name: Spanning {
                                                    item: Name(
                                                        "pet",
                                                    ),
                                                    start: SourcePosition {
                                                        line: 2,
                                                        col: 3,
                                                    },
                                                    end: SourcePosition {
                                                        line: 2,
                                                        col: 5,
                                                    },
                                                },
                                                arguments: None,
                                                directives: [],
                                                selection_set: None,
                                            },
                                        ),
                                        start: SourcePosition {
                                            line: 2,
                                            col: 3,
                                        },
                                        end: SourcePosition {
                                            line: 2,
                                            col: 5,
                                        },
                                    },
                                    Spanning {
                                        item: FragmentSpread(
                                            FragmentSpread {
                                                fragment_name: Spanning {
                                                    item: Name(
                                                        "snackSelection",
                                                    ),
                                                    start: SourcePosition {
                                                        line: 3,
                                                        col: 6,
                                                    },
                                                    end: SourcePosition {
                                                        line: 3,
                                                        col: 19,
                                                    },
                                                },
                                                directives: [],
                                            },
                                        ),
                                        start: SourcePosition {
                                            line: 3,
                                            col: 3,
                                        },
                                        end: SourcePosition {
                                            line: 3,
                                            col: 19,
                                        },
                                    },
                                    Spanning {
                                        item: InlineFragment(
                                            InlineFragment {
                                                type_condition: Some(
                                                    Spanning {
                                                        item: TypeCondition {
                                                            on: Spanning {
                                                                item: TypeName(
                                                                    Name(
                                                                        "Nap",
                                                                    ),
                                                                ),
                                                                start: SourcePosition {
                                                                    line: 4,
                                                                    col: 10,
                                                                },
                                                                end: SourcePosition {
                                                                    line: 4,
                                                                    col: 12,
                                                                },
                                                            },
                                                        },
                                                        start: SourcePosition {
                                                            line: 4,
                                                            col: 7,
                                                        },
                                                        end: SourcePosition {
                                                            line: 4,
                                                            col: 12,
                                                        },
                                                    },
                                                ),
                                                directives: [],
                                                selection_set: Spanning {
                                                    item: SelectionSet {
                                                        items: [
                                                            Spanning {
                                                                item: Field(
                                                                    Field {
                                                                        alias: None,
                                                                        name: Spanning {
                                                                            item: Name(
                                                                                "cozyLocation",
                                                                            ),
                                                                            start: SourcePosition {
                                                                                line: 5,
                                                                                col: 5,
                                                                            },
                                                                            end: SourcePosition {
                                                                                line: 5,
                                                                                col: 16,
                                                                            },
                                                                        },
                                                                        arguments: None,
                                                                        directives: [],
                                                                        selection_set: None,
                                                                    },
                                                                ),
                                                                start: SourcePosition {
                                                                    line: 5,
                                                                    col: 5,
                                                                },
                                                                end: SourcePosition {
                                                                    line: 5,
                                                                    col: 16,
                                                                },
                                                            },
                                                            Spanning {
                                                                item: Field(
                                                                    Field {
                                                                        alias: None,
                                                                        name: Spanning {
                                                                            item: Name(
                                                                                "durationOfNap",
                                                                            ),
                                                                            start: SourcePosition {
                                                                                line: 6,
                                                                                col: 5,
                                                                            },
                                                                            end: SourcePosition {
                                                                                line: 6,
                                                                                col: 17,
                                                                            },
                                                                        },
                                                                        arguments: None,
                                                                        directives: [],
                                                                        selection_set: None,
                                                                    },
                                                                ),
                                                                start: SourcePosition {
                                                                    line: 6,
                                                                    col: 5,
                                                                },
                                                                end: SourcePosition {
                                                                    line: 6,
                                                                    col: 17,
                                                                },
                                                            },
                                                        ],
                                                    },
                                                    start: SourcePosition {
                                                        line: 4,
                                                        col: 14,
                                                    },
                                                    end: SourcePosition {
                                                        line: 7,
                                                        col: 3,
                                                    },
                                                },
                                            },
                                        ),
                                        start: SourcePosition {
                                            line: 4,
                                            col: 3,
                                        },
                                        end: SourcePosition {
                                            line: 7,
                                            col: 3,
                                        },
                                    },
                                    Spanning {
                                        item: FragmentSpread(
                                            FragmentSpread {
                                                fragment_name: Spanning {
                                                    item: Name(
                                                        "snackSelection",
                                                    ),
                                                    start: SourcePosition {
                                                        line: 8,
                                                        col: 6,
                                                    },
                                                    end: SourcePosition {
                                                        line: 8,
                                                        col: 19,
                                                    },
                                                },
                                                directives: [
                                                    Spanning {
                                                        item: Directive {
                                                            name: Spanning {
                                                                item: Name(
                                                                    "deprecated",
                                                                ),
                                                                start: SourcePosition {
                                                                    line: 8,
                                                                    col: 22,
                                                                },
                                                                end: SourcePosition {
                                                                    line: 8,
                                                                    col: 31,
                                                                },
                                                            },
                                                            arguments: None,
                                                        },
                                                        start: SourcePosition {
                                                            line: 8,
                                                            col: 21,
                                                        },
                                                        end: SourcePosition {
                                                            line: 8,
                                                            col: 31,
                                                        },
                                                    },
                                                ],
                                            },
                                        ),
                                        start: SourcePosition {
                                            line: 8,
                                            col: 3,
                                        },
                                        end: SourcePosition {
                                            line: 8,
                                            col: 19,
                                        },
                                    },
                                    Spanning {
                                        item: InlineFragment(
                                            InlineFragment {
                                                type_condition: Some(
                                                    Spanning {
                                                        item: TypeCondition {
                                                            on: Spanning {
                                                                item: TypeName(
                                                                    Name(
                                                                        "Nap",
                                                                    ),
                                                                ),
                                                                start: SourcePosition {
                                                                    line: 9,
                                                                    col: 10,
                                                                },
                                                                end: SourcePosition {
                                                                    line: 9,
                                                                    col: 12,
                                                                },
                                                            },
                                                        },
                                                        start: SourcePosition {
                                                            line: 9,
                                                            col: 7,
                                                        },
                                                        end: SourcePosition {
                                                            line: 9,
                                                            col: 12,
                                                        },
                                                    },
                                                ),
                                                directives: [
                                                    Spanning {
                                                        item: Directive {
                                                            name: Spanning {
                                                                item: Name(
                                                                    "provides",
                                                                ),
                                                                start: SourcePosition {
                                                                    line: 9,
                                                                    col: 15,
                                                                },
                                                                end: SourcePosition {
                                                                    line: 9,
                                                                    col: 22,
                                                                },
                                                            },
                                                            arguments: Some(
                                                                Spanning {
                                                                    item: [
                                                                        Spanning {
                                                                            item: KeyValue {
                                                                                key: Spanning {
                                                                                    item: Name(
                                                                                        "duration",
                                                                                    ),
                                                                                    start: SourcePosition {
                                                                                        line: 9,
                                                                                        col: 24,
                                                                                    },
                                                                                    end: SourcePosition {
                                                                                        line: 9,
                                                                                        col: 31,
                                                                                    },
                                                                                },
                                                                                value: Spanning {
                                                                                    item: SimpleValue(
                                                                                        String(
                                                                                            "2 hours",
                                                                                        ),
                                                                                    ),
                                                                                    start: SourcePosition {
                                                                                        line: 9,
                                                                                        col: 34,
                                                                                    },
                                                                                    end: SourcePosition {
                                                                                        line: 9,
                                                                                        col: 42,
                                                                                    },
                                                                                },
                                                                            },
                                                                            start: SourcePosition {
                                                                                line: 9,
                                                                                col: 24,
                                                                            },
                                                                            end: SourcePosition {
                                                                                line: 9,
                                                                                col: 42,
                                                                            },
                                                                        },
                                                                    ],
                                                                    start: SourcePosition {
                                                                        line: 9,
                                                                        col: 23,
                                                                    },
                                                                    end: SourcePosition {
                                                                        line: 9,
                                                                        col: 43,
                                                                    },
                                                                },
                                                            ),
                                                        },
                                                        start: SourcePosition {
                                                            line: 9,
                                                            col: 14,
                                                        },
                                                        end: SourcePosition {
                                                            line: 9,
                                                            col: 43,
                                                        },
                                                    },
                                                ],
                                                selection_set: Spanning {
                                                    item: SelectionSet {
                                                        items: [
                                                            Spanning {
                                                                item: Field(
                                                                    Field {
                                                                        alias: None,
                                                                        name: Spanning {
                                                                            item: Name(
                                                                                "cozyLocation",
                                                                            ),
                                                                            start: SourcePosition {
                                                                                line: 10,
                                                                                col: 5,
                                                                            },
                                                                            end: SourcePosition {
                                                                                line: 10,
                                                                                col: 16,
                                                                            },
                                                                        },
                                                                        arguments: None,
                                                                        directives: [],
                                                                        selection_set: None,
                                                                    },
                                                                ),
                                                                start: SourcePosition {
                                                                    line: 10,
                                                                    col: 5,
                                                                },
                                                                end: SourcePosition {
                                                                    line: 10,
                                                                    col: 16,
                                                                },
                                                            },
                                                        ],
                                                    },
                                                    start: SourcePosition {
                                                        line: 9,
                                                        col: 45,
                                                    },
                                                    end: SourcePosition {
                                                        line: 11,
                                                        col: 3,
                                                    },
                                                },
                                            },
                                        ),
                                        start: SourcePosition {
                                            line: 9,
                                            col: 3,
                                        },
                                        end: SourcePosition {
                                            line: 11,
                                            col: 3,
                                        },
                                    },
                                    Spanning {
                                        item: InlineFragment(
                                            InlineFragment {
                                                type_condition: None,
                                                directives: [
                                                    Spanning {
                                                        item: Directive {
                                                            name: Spanning {
                                                                item: Name(
                                                                    "J",
                                                                ),
                                                                start: SourcePosition {
                                                                    line: 12,
                                                                    col: 8,
                                                                },
                                                                end: SourcePosition {
                                                                    line: 12,
                                                                    col: 8,
                                                                },
                                                            },
                                                            arguments: Some(
                                                                Spanning {
                                                                    item: [
                                                                        Spanning {
                                                                            item: KeyValue {
                                                                                key: Spanning {
                                                                                    item: Name(
                                                                                        "N",
                                                                                    ),
                                                                                    start: SourcePosition {
                                                                                        line: 12,
                                                                                        col: 10,
                                                                                    },
                                                                                    end: SourcePosition {
                                                                                        line: 12,
                                                                                        col: 10,
                                                                                    },
                                                                                },
                                                                                value: Spanning {
                                                                                    item: SimpleValue(
                                                                                        Integer(
                                                                                            0,
                                                                                        ),
                                                                                    ),
                                                                                    start: SourcePosition {
                                                                                        line: 12,
                                                                                        col: 13,
                                                                                    },
                                                                                    end: SourcePosition {
                                                                                        line: 12,
                                                                                        col: 13,
                                                                                    },
                                                                                },
                                                                            },
                                                                            start: SourcePosition {
                                                                                line: 12,
                                                                                col: 10,
                                                                            },
                                                                            end: SourcePosition {
                                                                                line: 12,
                                                                                col: 13,
                                                                            },
                                                                        },
                                                                    ],
                                                                    start: SourcePosition {
                                                                        line: 12,
                                                                        col: 9,
                                                                    },
                                                                    end: SourcePosition {
                                                                        line: 12,
                                                                        col: 14,
                                                                    },
                                                                },
                                                            ),
                                                        },
                                                        start: SourcePosition {
                                                            line: 12,
                                                            col: 7,
                                                        },
                                                        end: SourcePosition {
                                                            line: 12,
                                                            col: 14,
                                                        },
                                                    },
                                                ],
                                                selection_set: Spanning {
                                                    item: SelectionSet {
                                                        items: [
                                                            Spanning {
                                                                item: Field(
                                                                    Field {
                                                                        alias: None,
                                                                        name: Spanning {
                                                                            item: Name(
                                                                                "a",
                                                                            ),
                                                                            start: SourcePosition {
                                                                                line: 13,
                                                                                col: 5,
                                                                            },
                                                                            end: SourcePosition {
                                                                                line: 13,
                                                                                col: 5,
                                                                            },
                                                                        },
                                                                        arguments: None,
                                                                        directives: [],
                                                                        selection_set: None,
                                                                    },
                                                                ),
                                                                start: SourcePosition {
                                                                    line: 13,
                                                                    col: 5,
                                                                },
                                                                end: SourcePosition {
                                                                    line: 13,
                                                                    col: 5,
                                                                },
                                                            },
                                                        ],
                                                    },
                                                    start: SourcePosition {
                                                        line: 12,
                                                        col: 16,
                                                    },
                                                    end: SourcePosition {
                                                        line: 14,
                                                        col: 3,
                                                    },
                                                },
                                            },
                                        ),
                                        start: SourcePosition {
                                            line: 12,
                                            col: 3,
                                        },
                                        end: SourcePosition {
                                            line: 14,
                                            col: 3,
                                        },
                                    },
                                ],
                            },
                            start: SourcePosition {
                                line: 1,
                                col: 1,
                            },
                            end: SourcePosition {
                                line: 15,
                                col: 1,
                            },
                        },
                    },
                ),
                start: SourcePosition {
                    line: 1,
                    col: 1,
                },
                end: SourcePosition {
                    line: 15,
                    col: 1,
                },
            },
        ],
    },
)