Settings manual & FAQ

Everything you need to get a fleet running — and fixes for the things that actually trip people up.

Quick start

Install the Agent on every presentation machine (Mac .pkg or Windows .exe). Each agent runs quietly in the menu bar / system tray and listens on port 37100. Then control the fleet two ways, which can run at the same time:

Which IP do I enter in Companion?

The one rule that matters: every machine must be on the same subnet. Use the address the machine has on the network you share — a routed 192.168.x.x/10.x.x.x/172.x.x.x, or a self-determined 169.254.x.x link-local address. The agent's menu lists every address the machine has; pick the one on the same subnet as the machine running Companion.

Self-determined (link-local) addresses are fine. If there's no DHCP — a direct cable or an isolated switch — machines self-assign on the 169.254.0.0/16 subnet (the same approach Dante and other pro-AV gear use every day). As long as every machine sits on that one subnet, KueSync runs on it perfectly.

"The agent's web page loads, but Companion still won't connect"

This is the most common confusion, and it has a precise cause: the agent's web pages (the Settings page, /health, /status) are read-only and open to anyone on the network, so they load fine. But Companion controls the agent over a WebSocket, which is a different, persistent connection. If the page loads but Companion shows the machine disconnected, check, in order:

  1. Both machines are on the same subnet. Guest / hotel Wi-Fi often has "client isolation" that blocks device-to-device traffic — use a dedicated router or switch instead.
  2. The IP in Companion matches the machine's current address (DHCP can change it).

Tip: from the Companion machine, open http://<other-ip>:37100/health in a browser. If that loads, the network is fine and the issue is the address you typed.

Windows: "Unable to execute file in the temporary directory" / Error 4551 (Application Control policy)

If a Windows install or update stops with "Unable to execute file in the temporary directory. Setup aborted. Error 4551: An Application Control policy has blocked this file," it almost always means an older KueSync version was still installed and running on that machine. A leftover agent/updater process holds files while the new installer tries to run its setup stage, and Windows blocks it. A machine that has never had KueSync installs cleanly — the tell that this is a leftover-install issue, not a problem with the installer (which is code-signed).

Fix (about a minute):

  1. Uninstall the existing KueSync (Settings → Apps → KueSync → Uninstall).
  2. Restart the machine — this clears any still-running agent/updater processes.
  3. Download fresh from kuesync.com/download and run the installer (right-click → Run as administrator).

It then installs normally, and future in-app updates are clean. This is a one-time step only for machines that ran an early Windows build. If a machine still blocks it after a clean uninstall + restart, it has a corporate application-control policy (AppLocker/WDAC) or Smart App Control — ask IT to allow the publisher Krometis & Associates, LLC, or contact support@kuesync.com for a fleet-deployable installer.

Leader / Follower (machine-to-machine advancing)

A Follower (the default) just receives commands — no setup, no license needed. A Leader drives the whole fleet from its own presenter remote. To set it up, open the Leader machine's Settings page (menu-bar/tray → Settings, or http://<leader-ip>:37100/leader):

  1. Switch that machine to Leader.
  2. Add each Follower by its real network IP (or scan the subnet to find them). This step is required — a Leader only drives the Followers you list.
  3. Use Learn to bind your remote's forward / back buttons.

For redundancy, set up two or more Leaders with different priorities: the highest-priority healthy machine drives, the others stand by and take over instantly on failure, and a recovered primary only reclaims control once it's provably stable again. Redundancy and automatic failover are built in and in active testing during the beta — as with any show-control system, rehearse and keep your own backup plan, and validate failover in your own rig before you rely on it.

Driving from Companion + a Leader at the same time: point Companion at the Leader and it drives the whole fleet — the Leader fans your commands out to its Followers. A machine that's being led ignores direct commands so Companion and the Leader never fight. (From Companion's point of view, the primary machine is the Leader.) Type a slide number + Enter on the Leader during a show and the whole fleet jumps there, just like it does locally in Keynote / PowerPoint.

Move the fleet to the next show's network — it re-stabilizes itself (new in 0.12.55)

Set up your Leader and Followers once, then take the whole rig to the next show and just plug into the new network. Each Follower is remembered by a stable identity — not its IP address — so when the subnet changes, the Leader finds every Follower again on its new address and re-stabilizes the fleet automatically. No clearing the list, no re-scanning, no re-adding. It's the Dante-style "set it and move it" behavior applied to your slide-sync fleet.

It's a beta capability under active testing. As with any show-control change, rehearse the move in your own rig before you rely on it.

KueSync Link (new in 0.9.0) gives your whole fleet one shared content folder. Turn it on — from the Settings page, the Mac menu bar, or the Windows tray — and every authorized machine gets an identical KueSync Link folder in its home folder, with an Open Folder shortcut right there.

It's a beta capability under active testing. Load or change content between shows for the smoothest experience.

Show control — numbered shows & one-tap launch

KueSync turns your KueSync Link folder into a launcher. Name a deck with a leading number — e.g. 006 Welcome.pptx — and it becomes a numbered show ("Launch 006 · Welcome") that you can open full-screen on slide 1 across every machine with a single tap. It works for PowerPoint and Keynote, you can organize decks in subfolders (the leading number is the address), and it needs no Companion.

KueSync Timer — fleet show timer & full-screen clock (0.10.25)

KueSync Timer is a show-caller's limit timer that propagates to every machine at once. Set timings from the KueSync Control page (or from Bitfocus Companion); they appear on the clickers and on a big, full-screen clock you can put on any screen.

KueSync Notes — presenter notes on any screen

KueSync Notes is a full-screen display that puts the presenter notes of the slide currently running on a confidence monitor at the front of stage — the same text as your app's presenter view. It joins the display family alongside the KueSync Timer, KueSync Run-of-Show, and Kue Lights. Open it from the menu bar / tray (Open KueSync Notes…), from Settings ▸ KueSync Notes display, or at http://<machine-ip>:37100/notes.

Where the notes come from: the presenter notes already in your deck — Keynote’s Presenter Notes or PowerPoint’s Notes pane. There is nothing to re-type, import, or maintain separately: type them in your deck as you always have and they appear here. On PowerPoint for Mac the notes are read straight from the .pptx file, so they are dependable and can never hang the show.

You pin one source; the whole fleet shows it. Choose which machine's notes to show — a follower that's running the deck, or the Leader's own deck (“This machine”). That pinned machine is the single, exclusive source: pick a follower and every screen shows that follower's deck; pick the Leader and every screen shows the Leader's. The machine actually driving the show can be the Leader or a follower — the pin decides — so a confidence or podium monitor always shows the right deck instead of its own empty one, and the screen never flashes between two decks. Failover keeps the notes flowing. Slides with no notes — and PDFs, which have none — show a quiet “No notes for this slide” rather than stale text from the previous slide. You can also hide the deck file name in the header when it's internal, keeping just the slide count.

It's built to read across the room. The notes fill the screen at a large, legible size, auto-sizing to each slide — a one-line note lands large and glanceable, and a longer note grows to use the width. When a note is genuinely long it holds a readable size and scrolls — the backstage operator can page through it from the clicker or KueSync Control — rather than shrinking to something you can't read from the stage. The slide count sits tight at the top on a clean rule with the show timer large in its corner, and the deck's line breaks are preserved. Mac and Windows render matching letterforms and wrap identically, and no web font is fetched — it paints instantly even on a fully locked-down show LAN.

Keyable, like the other displays: pick black, white, chroma green, or chroma blue (?bg=) to PIP or key it over a program feed. The full-screen button only appears when you move the mouse, so it never shows in a keyed feed, and the screen never sleeps.

Scrolling from a presenter's clicker

Any clicker link can be issued Notes scroll — per remote, in Settings beside that link's Advancer setting. The affordance adapts to how that remote advances:

Scrolling is continuous (0.12.14). Rather than jumping a page at a time, the notes follow the drag exactly the way scrolling works everywhere else — drag up to reveal what’s further down. It moves at the speed of the hand, so a presenter can ease through a long note instead of hunting for the right page.

Left- or right-handed (0.12.14). The drag strip on a button remote docks to whichever edge suits that presenter, set per remote in Settings (Rail: left edge / right edge). Put it opposite the hand holding the phone and the rail is never under the GO thumb.

Scrolling is a view command on its own path: it can never advance a slide, and an advance can never scroll. A presenter on standby can't scroll the shared screen out from under whoever is live (master links may any time), and a remote without Notes scroll issued behaves exactly as it does today.

Presenter view: the next slide's notes (0.12.14)

Turn on Show the next slide’s notes and a smaller Next block appears beneath the current notes, the way presenter view works — so the speaker can see what’s coming without breaking stride. The current slide always stays the largest thing on screen; the next block is deliberately subordinate. Hidden and skipped slides are ignored, so “Next” shows the slide the audience will actually see, not one you skipped over.

Operator messages on the notes screen (0.12.14)

Messages sent from KueSync Control now reach the notes screen too, in a slim bar that fades away on its own exactly as it does on the Timer screen — visible to the speaker without pulling focus off the notes. When no message is up the bar leaves no trace, so chroma backgrounds still key perfectly clean. It can be turned off per machine in Settings.

Driving the notes screen from KueSync Control (0.12.14)

The slide-deck section of KueSync Control gains a Notes screen row: jump to the top, scroll up, scroll down, and an Auto-scroll that creeps the notes at a steady reading pace you set in seconds-per-screen — hands-free for a scripted talk. The operator can drive the notes even when no presenter link is live, which matters during setup, a speaker change, or a clicker that has dropped. Auto-scroll stops on any manual scroll or slide change, so it can never creep past the top of a new slide’s notes. Like the clicker path, none of it can advance a slide, and it is deliberately outside the Lock advancers lockout — that lockout governs who drives the deck.

Optional: the fleet timer in a corner

Turn on Show KueSync Timer (PIP) to place the fleet clock in a corner of the notes screen, choosing the corner from a small grid. It shows the same digits as the Timer window at the same instant — countdown, count-up, time-of-day, the amber warning, the red finish, and blink all behave identically, because both screens run from one shared timer core. It matches your background so it keys cleanly: transparent on chroma (just the digits, no leftover rectangle), and a subtle frosted panel on black or white. Notes never scroll underneath it. It defaults to the top-right corner, and 0.12.14 adds a Timer style choice: Auto (keys cleanly on any background), Panel (a tinted card for a busy stage), or Bare (digits only).

Dedicate a machine to a non-slideshow screen (0.12.57)

Want a machine to be only a KueSync Timer, Kue Lights, Notes, or KueSync Run-of-Show screen and never get pulled into a slideshow? On that follower, open Settings and turn on Dedicated full-screen display (non-slideshow), then open the screen you want from its display section. That machine becomes immune to slideshow launch cues — a fleet-wide deck launch skips it — so a screen you've set up as a clock or a cue light can never be yanked into presenting a deck. (0.12.61: you can also toggle this right from that follower's macOS menu bar or Windows tray, not just Settings.)

It stays a full member of the fleet's non-deck surfaces, so everything you'd want on it keeps working in step with the fleet: Kue Lights flash green forward / red back, the KueSync Timer with its corner PIPs, overlays, video count-out and on-screen messages all update live, and KueSync Notes show the presenter notes of whatever machine is presenting. On the Leader's Control page and its followers list, a dedicated machine is tagged DISPLAY so you can see at a glance that a deck launch won't land there.

Works with Perfect Cue & USB advancers

Already using a hardware advancer? KueSync drives the fleet from the same forward/back any USB presenter sends, so a DSAN Perfect Cue or any industry-standard USB advancer keeps working — now advancing every screen at once. On the Leader Mac, give KueSync Input Monitoring + Accessibility so it can capture the remote. Keep your gear; add the sync.

Slide driver — drive the fleet from a follower (0.12.53): when the presenter's clicker is plugged into a machine near the stage rather than the Leader in the booth, you can let that follower drive. In the Leader's Settings, each follower has a Slide driver checkbox next to Armed; turn it on and that follower's own USB advancer / Perfect Cue / keystrokes advance the whole fleet. The follower relays each cue to the Leader, which fans it with the same gated sync as always — so a follower-driven advance lands on every screen exactly like a Leader-driven one. A follower can only be made a driver from the Leader (or from Companion / KueSync Control), never from its own Settings, and it shows a read-only "Slide driver — drives the fleet" indicator in its Settings status line and its menu bar / tray. One-time permission: because the follower now captures the remote, give KueSync Input Monitoring + Accessibility on that follower too (it prompts automatically the first time it's made a driver). In Companion, the Follower — Slide driver actions, feedback, and variable do the same from a button.

Lock advancers (0.12.12): a clearly-marked, flash-red Lock advancers button in KueSync Control kills all advancer input across the fleet — phone-clicker links and USB / presenter remotes alike — except the GO/BACK in KueSync Control itself and Companion, which keep full control. It's for the show caller / KS Control operator to hold the deck when a presenter's remote or a stray clicker must not touch it. Tap again to release; the button flashes red the whole time it's armed so nobody forgets.

Many Leaders, Followers & Companions on one network

KueSync scales: any number of Leaders, Followers, and Companions can share a network and they all work together as long as they use the same Fleet Password (or you leave control open on an isolated show LAN). Without the matching Fleet Password, a device connects read-only and cannot drive — that's the security boundary. The Fleet Password is pushed only to Followers the Leader has added and confirmed; if a Leader removes a Follower, that machine clears its copy of the password and the synced KueSync Link deck files (which belong to the Leader) and reverts to a clean standalone state.

Adopting an ex-Leader (0.12.12): if you switch a machine that was a Leader (with its own Fleet Password) into a Follower and add it to a different Leader, the two won't pair on their own — the machine still guards its old password. When you switch it to Follower, Settings offers "Listen for a new leader" on a re-armable 3-minute timer (there's also a button to arm it any time). During that window the new Leader can claim it and hand over the Fleet Password automatically; it closes the instant they pair. Outside the window the security boundary is unchanged — a mismatched password still connects read-only.

Protecting the Settings page (Settings and Control PIN, 0.9.4)

Anyone on the network who knows the leader's address could otherwise open its Settings page and change fleet settings. KueSync 0.9.4 adds an optional Settings and Control PIN, on by default, that gates the Settings page from other computers: opening the leader's IP prompts for the PIN before any setting can be viewed or changed. The leader's own machine never needs the PIN — operating KueSync locally stays simple. The PIN is shown on the leader's Settings page (just above License); change it any time, or uncheck the requirement to allow open access on a trusted network.

Parking a follower (Active checkbox, 0.9.4)

Every follower now has an Active checkbox — in the Settings page and in the Mac menu bar / Windows tray (follower mode only), on by default. Uncheck it to park that machine: it ignores incoming cues and sits out the show, while staying on the network and keeping its KueSync Link folder in sync. Check it again to rejoin. Handy for a spare or a screen you want to hold on a static slide without removing it from the fleet.

From Companion (0.9.6): you can also park / un-park a follower right from a Stream Deck. The KueSync · Followers presets give you Activate, Deactivate, and a one-key Toggle per machine number, with a built-in feedback that turns the button green when Active / red when Inactive so the operator sees fleet status at a glance. Reactivating a follower automatically snaps it back to the fleet's current slide. There are also $(KueSync:active_m1…8) variables for your own button text or triggers.

Companion buttons — what each one does

Add the KueSync connection, then in the button library you'll find these preset groups. Every navigation button has a Machines field: blank / "all" drives the whole fleet, or comma-separate machine numbers and/or IPs (e.g. 1,3) to target some.

Transport

Sync

Followers (0.9.6)

Deck control, cue & loop

Video (PowerPoint)

Status & monitor (display buttons)

KueSync Timer (0.12.11 — full control from Companion)

Cue light (hardware-style)

The Cue Light preset group turns Stream Deck keys into a DSAN-style cue light: it flashes green on a forward move and red on a backward move, mirroring the presenter's clicker. Drop the Cue lamp on one key, or tile it across several to build a big lamp; use the Go lamp and Back lamp on different keys to build a two-zone panel. The lamps are output-only — they light from the show, there's nothing to press. Tune the flash hold and pick flash-vs-latch in the connection settings.

No Stream Deck? KueSync also has Kue Lights — a full-screen Perfect-Cue-style cue light you can open on any machine (a comfort monitor, a confidence screen, a spare display). The whole screen flashes green on a forward cue and red on a back cue, in step with the fleet. Open it from the menu bar / tray (Open Kue Lights, between Open Timer and Open KueSync Run-of-Show), or the agent's Settings → Kue Lights display (Open / Copy link), the same way you open the KueSync Timer or KueSync Run-of-Show display. It flashes from every drive path — Bitfocus Companion, a presenter remote, a clicker link, or the leader's own clicker — and has a full-screen toggle button.

Clicker links

Every agent is a tiny web server, so a presenter can drive the show from their phone — no app, no Companion. On the Leader's Settings page, open Clicker Links, create a link, and share its URL. They open it and get a full-screen advancer with big GO / BACK, a green/red cue lamp, the slide number, and a LIVE / STANDBY banner. Commands ride the same path as the physical clicker, so they inherit all the sync, gating, and failover.

Choosing the network KueSync traffic rides

On a job site you often have a dedicated control LAN and house Wi-Fi. Agents always listen and discover on every interface — but you can pin which network the show runs on. Two places to set it:

The only requirement is that the machines share a subnet. A self-determined 169.254.x.x network is a perfectly good choice for an isolated wired rig — pick it as your preferred network and KueSync rides it.

Takes effect live (0.12.12): changing the Priority network, or marking one Ignored, now re-homes active fleet connections immediately instead of waiting for the next reconnect — so if you notice the show is riding the wrong network, ignoring it moves traffic onto the right one at once (with a fail-safe that never strands a machine on its only reachable path).

Hotel & guest Wi-Fi — why the fleet won't connect

Symptom: every machine reaches the internet, but they can't see each other — the fleet never forms and phone clickers don't reach the agents. KueSync now flags this for you: when a Leader has machines configured but none connect, the Settings page shows a "your machines can't see each other" warning pointing here. The cause is almost always the network, not KueSync — and the fix is to give your show its own network.

Hotel & guest Wi-Fi: ride the wire, and bring your own AP for clickers. Guest and hotel Wi-Fi almost always run client isolation — they deliberately block one guest device from reaching another. That stops both fleet sync and phone clickers from working over that Wi-Fi, even when every machine is also joined to it. If your show machines share a wired network — a Dante VLAN, an isolated switch, or a self-assigned 169.254.x.x link — pin that as your Preferred network for traffic (above) and the fleet syncs over the wire and ignores the hotel Wi-Fi entirely.

A phone clicker can't join a wired-only network, so on isolated hotel Wi-Fi it has no path to the agents. The fix is a small access point of your own: a travel router or spare AP plugged into your show switch. Join both the presenter's phone and the show machines to that SSID (which has no client isolation) and the clicker reaches the agents directly. Leave the hotel Wi-Fi for internet; your show traffic and clickers ride your own network.

If a copied Control or clicker link won't open from another machine: the agent hands out those links on its Wi-Fi address (clicker links are aimed at phones, which live on Wi-Fi), so on an isolated hotel network — or when you open the link on another fleet machine that's on the wire — that address isn't reachable. Mark the hotel/guest Wi-Fi as an ignored network (agent menu/tray → Set listen network, or the Settings page) and the agent issues links on your reachable wired/preferred network instead. In a pinch, open Control directly by the machine's wired IP, e.g. http://<wired-ip>:37100/control.

How tight is the sync?

Every screen flips together to within a couple of milliseconds — on any network, including isolated direct-wired rigs. KueSync continuously measures each machine and corrects every cue per machine, so there's no tuning, no drift, and nothing to set up. If you ever want to nudge the feel, the Settings page and the Companion connection both have a single Sync tightening (ms) control: a touch higher is a touch more consistent, a touch lower is a touch snappier. The default is the sweet spot.

Network quality is the biggest lever you control. KueSync's timing is only as steady as the network carrying it: a wired connection (or an isolated switch with self-assigned addresses) gives the tightest, most consistent sync, and a robust dedicated Wi-Fi network is nearly as good. Congested house Wi-Fi, guest networks, and busy 2.4 GHz bands add jitter that shows up as slightly uneven flips. Easy wins, in order: wire the show machines; if Wi-Fi, use a dedicated 5 GHz SSID just for the rig; keep the show traffic off networks shared with an audience. For a critical show, wire it — that's true of every networked show-control system, not just KueSync.

One thing that isn't us: a heavy slide can paint a hair slower on one machine than another — that's the app's render time, not the cue. For that there's Render trim (Settings → Clock & sync): if one machine's screen visibly flips a few ms behind the rest, give it a small trim and the paints line up, not just the commands. Dial it with the built-in flash test — open /flash full-screen on each machine, hit Flash test, film the screens, and read the true flip-spread frame by frame. The honest physics: independent displays refresh on their own cycles, so "together" means within about one frame (~16 ms) — visually imperceptible.

Does KueSync lock to PTP / Dante clocking?

How do I make click-to-play videos roll on a clicker press?

Keynote: movies set to start on click are builds — a forward press rolls them, synced, automatically. PowerPoint: select the video → Playback → set Start to In Click Sequence (or Automatically) — a press then rolls it in sync across the fleet. Videos left on PowerPoint's Play-button overlay (trigger mode) can only be started by clicking the media itself — no keyboard, remote, or automation can fire a trigger; that's a PowerPoint limitation. One checkbox per video at deck prep is the fix.

Yes — in beta (v6.4.0+), and as of 0.12.12 validated on live Dante hardware. If your network carries an IEEE-1588 grandmaster — the clock an AES67/Dante rig already has — every KueSync machine detects it and locks its fire timebase to it automatically: one shared external clock for the whole fleet, sub-millisecond clock agreement on a quiet LAN, and it survives Leader failover because the reference is outside the fleet. The Settings page and the menu bar show the lock (Locked to PTP grandmaster · domain · offset); if the grandmaster disappears mid-show the agents hold the last good timebase rather than jumping. KueSync is slave-only and receive-only — it never sends PTP, never becomes anyone's clock master, and cannot affect the audio clock. No grandmaster? Nothing changes: the built-in peer-to-peer sync carries the show exactly as before.

Legacy Dante (0.12.12): KueSync now also locks to a legacy PTPv1 Dante grandmaster with AES67 off — it syntonizes to the grandmaster's rate so every machine ticks on that reference and the machine-to-machine offset stops drifting. Earlier builds only detected legacy PTPv1 and asked you to enable AES67; that's no longer required (enabling AES67/PTPv2 also works). Two notes: PTP is L2 multicast, so the agents must sit on the same VLAN as the PTP traffic; and the honest ceiling is a sub-millisecond clock, which shows on screen as within about one frame (~16 ms) since independent displays refresh on their own cycles.

Locking down control

By default the agents accept control from anyone who can reach them — perfect for an isolated show network, but on a shared or house network set a Fleet Password. Pick one value (e.g. from openssl rand -hex 16), set KUESYNC_TOKEN=… in each agent's config.env, and enter the same password in the Companion connection's Fleet Password field. From then on only your control surfaces can drive the show, and the agent's Settings page shows a notice whenever control is open on a routable network. Phone clicker links are separate — each link carries its own revocable credential, so a presenter's link never exposes fleet control.

Licensing

Every install starts with a 7-day free trial — full features, no card. During the beta, the trial is your free access. After that, pricing is per seat. A seat is one control machine that independently leads a fleet. You don't pay per presentation machine (every screen a control machine drives connects free), a pure Follower needs no license ("Not required in Follower mode"), and an in-fleet backup leader used for redundancy/failover doesn't consume a seat — so running a live backup costs nothing.

Buy the number of seats you run; the per-seat price drops with volume (introductory beta pricing, per seat / month): 1 → $15 · 2–4 → $13 · 5–9 → $11 · 10+ → $9. Annual is ~2 months free. A freelancer is simply one seat; a production company buys several. 20+ seats, resale/integration, or PO/invoice is Enterprisesupport@kuesync.com. You can change your seat count anytime from the Stripe billing portal in your receipt.

Keys verify offline so the show always runs at the venue with no internet. When the machine has a connection, the agent does a quiet online check-in that pulls renewals automatically and honors your license (a refunded or revoked key is disabled) — but this never gates a live show, and offline it simply keeps running on the last valid key. Existing subscribers keep their current price — you're grandfathered in.

Presenter remote / keyboard

On a Leader machine, KueSync watches the configured presenter-remote keys (arrows, Space, Page Up/Down) only while a slideshow is actually running. When you're not presenting, your keyboard is completely untouched — type normally. If you ever need to, switching the machine back to Follower (or quitting KueSync) releases the keys immediately.

Health-check commands

On any machine, confirm its agent is alive:

curl -s http://localhost:37100/health

From the Companion machine, confirm it can reach another machine (replace the IP):

curl -s --max-time 4 http://192.168.1.50:37100/health

If the first works but the second doesn't, it's a network/IP issue, not KueSync — re-check that both machines are on the same subnet and that the address is the machine's current one.

Download KueSync   or email support@kuesync.com.