{
  "$id": "1",
  "$type": "NINA.Sequencer.Container.SequenceRootContainer, NINA.Sequencer",
  "Strategy": {
    "$type": "NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy, NINA.Sequencer"
  },
  "Name": "AstroPM - Single Night Basic (Example)",
  "Conditions": {
    "$id": "2",
    "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Conditions.ISequenceCondition, NINA.Sequencer]], System.ObjectModel",
    "$values": []
  },
  "IsExpanded": true,
  "Items": {
    "$id": "3",
    "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.SequenceItem.ISequenceItem, NINA.Sequencer]], System.ObjectModel",
    "$values": [
      {
        "$id": "4",
        "$type": "NINA.Sequencer.Container.StartAreaContainer, NINA.Sequencer",
        "Strategy": {
          "$type": "NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy, NINA.Sequencer"
        },
        "Name": "Start",
        "Conditions": {
          "$id": "5",
          "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Conditions.ISequenceCondition, NINA.Sequencer]], System.ObjectModel",
          "$values": []
        },
        "IsExpanded": true,
        "Items": {
          "$id": "6",
          "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.SequenceItem.ISequenceItem, NINA.Sequencer]], System.ObjectModel",
          "$values": [
            {
              "$id": "7",
              "$type": "NINA.Sequencer.SequenceItem.Utility.Annotation, NINA.Sequencer",
              "Text": "=== BASIC SINGLE-NIGHT TEMPLATE (no safety monitor) ===  REQUIRED PLUGIN: Astro PM - it provides 'AstroPM Refresh Cloud Targets', 'Astro PM Nightly Loop', and 'Astro PM Instructions'. Everything else here is built-in NINA: no Sequencer Powerups or other third-party plugins are needed.   This template has NO safety-monitor handling and assumes no dome/roof automation. If you run an observatory, use the 'with Safety' template instead.",
              "Parent": {
                "$ref": "4"
              },
              "ErrorBehavior": 0,
              "Attempts": 1
            },
            {
              "$id": "8",
              "$type": "NINA.Sequencer.SequenceItem.Utility.Annotation, NINA.Sequencer",
              "Text": "=== START (runs once) ===  Unpark the mount, then pull tonight's plan from the Astro PM cloud with 'AstroPM Refresh Cloud Targets'.",
              "Parent": {
                "$ref": "4"
              },
              "ErrorBehavior": 0,
              "Attempts": 1
            },
            {
              "$id": "9",
              "$type": "NINA.Sequencer.SequenceItem.Telescope.UnparkScope, NINA.Sequencer",
              "Parent": {
                "$ref": "4"
              },
              "ErrorBehavior": 0,
              "Attempts": 1
            },
            {
              "$id": "10",
              "$type": "AstroPM.NINA.Plugin.Instructions.RefreshCloudTargets, AstroPM.NINA.Plugin",
              "Parent": {
                "$ref": "4"
              },
              "ErrorBehavior": 0,
              "Attempts": 1
            }
          ]
        },
        "Triggers": {
          "$id": "11",
          "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Trigger.ISequenceTrigger, NINA.Sequencer]], System.ObjectModel",
          "$values": []
        },
        "Parent": {
          "$ref": "1"
        },
        "ErrorBehavior": 0,
        "Attempts": 1
      },
      {
        "$id": "12",
        "$type": "NINA.Sequencer.Container.TargetAreaContainer, NINA.Sequencer",
        "Strategy": {
          "$type": "NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy, NINA.Sequencer"
        },
        "Name": "Targets",
        "Conditions": {
          "$id": "13",
          "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Conditions.ISequenceCondition, NINA.Sequencer]], System.ObjectModel",
          "$values": []
        },
        "IsExpanded": true,
        "Items": {
          "$id": "14",
          "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.SequenceItem.ISequenceItem, NINA.Sequencer]], System.ObjectModel",
          "$values": [
            {
              "$id": "15",
              "$type": "NINA.Sequencer.Container.SequentialContainer, NINA.Sequencer",
              "Strategy": {
                "$type": "NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy, NINA.Sequencer"
              },
              "Name": "Astro PM Nightly Loop",
              "Conditions": {
                "$id": "16",
                "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Conditions.ISequenceCondition, NINA.Sequencer]], System.ObjectModel",
                "$values": [
                  {
                    "$id": "17",
                    "$type": "AstroPM.NINA.Plugin.Instructions.AstroPMLoopCondition, AstroPM.NINA.Plugin",
                    "Parent": {
                      "$ref": "15"
                    }
                  }
                ]
              },
              "IsExpanded": true,
              "Items": {
                "$id": "18",
                "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.SequenceItem.ISequenceItem, NINA.Sequencer]], System.ObjectModel",
                "$values": [
                  {
                    "$id": "19",
                    "$type": "NINA.Sequencer.SequenceItem.Utility.Annotation, NINA.Sequencer",
                    "Text": "=== NIGHTLY LOOP ===  The 'Astro PM Nightly Loop' condition keeps this container repeating while tonight's Astro PM schedule still has target blocks left to image. The single 'Astro PM Instructions' item below does ALL the work for the night: it builds the schedule, slews, plate-solves/centers, rotates, picks filters & exposures, dithers, and images per your Astro PM simulation plan. When the schedule is exhausted (or dark time runs out) the loop exits to the End section. (To run unattended across multiple nights, wrap this loop inside an 'Astro PM Daily Loop'.)",
                    "Parent": {
                      "$ref": "15"
                    },
                    "ErrorBehavior": 0,
                    "Attempts": 1
                  },
                  {
                    "$id": "20",
                    "$type": "NINA.Sequencer.SequenceItem.Utility.Annotation, NINA.Sequencer",
                    "Text": "=== TRIGGERS - this container's Triggers area (above) ===  Astro PM automatically runs any triggers attached to THIS container (the 'Astro PM Nightly Loop', which holds 'Astro PM Instructions'), evaluating them between exposures just like a normal NINA imaging container. A Meridian Flip trigger is already included as a starting point. Add whatever else your rig needs: Autofocus (After Filter Change / After Time / After HFR Increase), Center After Drift, etc.  Triggers added to OTHER containers won't be run by Astro PM Instructions.",
                    "Parent": {
                      "$ref": "15"
                    },
                    "ErrorBehavior": 0,
                    "Attempts": 1
                  },
                  {
                    "$id": "21",
                    "$type": "AstroPM.NINA.Plugin.Instructions.TargetInstructionSet, AstroPM.NINA.Plugin",
                    "Strategy": {
                      "$type": "NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy, NINA.Sequencer"
                    },
                    "Name": "Astro PM Instructions",
                    "Conditions": {
                      "$id": "22",
                      "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Conditions.ISequenceCondition, NINA.Sequencer]], System.ObjectModel",
                      "$values": []
                    },
                    "IsExpanded": true,
                    "Items": {
                      "$id": "23",
                      "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.SequenceItem.ISequenceItem, NINA.Sequencer]], System.ObjectModel",
                      "$values": []
                    },
                    "Triggers": {
                      "$id": "24",
                      "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Trigger.ISequenceTrigger, NINA.Sequencer]], System.ObjectModel",
                      "$values": []
                    },
                    "Parent": {
                      "$ref": "15"
                    },
                    "ErrorBehavior": 0,
                    "Attempts": 1
                  }
                ]
              },
              "Triggers": {
                "$id": "25",
                "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Trigger.ISequenceTrigger, NINA.Sequencer]], System.ObjectModel",
                "$values": [
                  {
                    "$id": "26",
                    "$type": "NINA.Sequencer.Trigger.MeridianFlip.MeridianFlipTrigger, NINA.Sequencer",
                    "Parent": {
                      "$ref": "15"
                    },
                    "TriggerRunner": {
                      "$id": "27",
                      "$type": "NINA.Sequencer.Container.SequentialContainer, NINA.Sequencer",
                      "Strategy": {
                        "$type": "NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy, NINA.Sequencer"
                      },
                      "Name": null,
                      "Conditions": {
                        "$id": "28",
                        "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Conditions.ISequenceCondition, NINA.Sequencer]], System.ObjectModel",
                        "$values": []
                      },
                      "IsExpanded": true,
                      "Items": {
                        "$id": "29",
                        "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.SequenceItem.ISequenceItem, NINA.Sequencer]], System.ObjectModel",
                        "$values": []
                      },
                      "Triggers": {
                        "$id": "30",
                        "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Trigger.ISequenceTrigger, NINA.Sequencer]], System.ObjectModel",
                        "$values": []
                      },
                      "Parent": null,
                      "ErrorBehavior": 0,
                      "Attempts": 1
                    }
                  }
                ]
              },
              "Parent": {
                "$ref": "12"
              },
              "ErrorBehavior": 0,
              "Attempts": 1
            }
          ]
        },
        "Triggers": {
          "$id": "31",
          "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Trigger.ISequenceTrigger, NINA.Sequencer]], System.ObjectModel",
          "$values": []
        },
        "Parent": {
          "$ref": "1"
        },
        "ErrorBehavior": 0,
        "Attempts": 1
      },
      {
        "$id": "32",
        "$type": "NINA.Sequencer.Container.EndAreaContainer, NINA.Sequencer",
        "Strategy": {
          "$type": "NINA.Sequencer.Container.ExecutionStrategy.SequentialStrategy, NINA.Sequencer"
        },
        "Name": "End",
        "Conditions": {
          "$id": "33",
          "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Conditions.ISequenceCondition, NINA.Sequencer]], System.ObjectModel",
          "$values": []
        },
        "IsExpanded": true,
        "Items": {
          "$id": "34",
          "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.SequenceItem.ISequenceItem, NINA.Sequencer]], System.ObjectModel",
          "$values": [
            {
              "$id": "35",
              "$type": "NINA.Sequencer.SequenceItem.Utility.Annotation, NINA.Sequencer",
              "Text": "=== END (runs once) ===  Reached when the Nightly Loop finishes - either every target's exposures are complete or there's no dark time left tonight. Park the mount to leave things safe. Tip: add 'Warm Camera' and a flats routine here if you want them at end of night.",
              "Parent": {
                "$ref": "32"
              },
              "ErrorBehavior": 0,
              "Attempts": 1
            },
            {
              "$id": "36",
              "$type": "NINA.Sequencer.SequenceItem.Telescope.ParkScope, NINA.Sequencer",
              "Parent": {
                "$ref": "32"
              },
              "ErrorBehavior": 0,
              "Attempts": 1
            }
          ]
        },
        "Triggers": {
          "$id": "37",
          "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Trigger.ISequenceTrigger, NINA.Sequencer]], System.ObjectModel",
          "$values": []
        },
        "Parent": {
          "$ref": "1"
        },
        "ErrorBehavior": 0,
        "Attempts": 1
      }
    ]
  },
  "Triggers": {
    "$id": "38",
    "$type": "System.Collections.ObjectModel.ObservableCollection`1[[NINA.Sequencer.Trigger.ISequenceTrigger, NINA.Sequencer]], System.ObjectModel",
    "$values": []
  },
  "Parent": null,
  "ErrorBehavior": 0,
  "Attempts": 1
}