úÎ4‰/ï.      !"#$%&'()*+,-None I£ represents a Zephyr notice. All fields of this record are filled-in for received notices. For outoing notices, only the following fields are relevant: z_class  z_instance z_opcode z_sender  z_default_fmt z_kind z_auth z_fields-The Zephyr version this notice was sent with. The Zephyr class of this notice.#The Zephyr instance of this notice.The recipient of this notice.The opcode of this notice.3The sender of this Notice. This field is always a .& for received notices. Setting it to /@ for sent notices will cause it to automatically be filled in.?The default format clients should use to render this notice. =The kind of this notice (determines how it will be ACK'd). %Whether this notice is authenticated. $A list of the fields in this notice. The time this notice was sent. ZRepresents a Zephyr triple for the purposes of subscribing or unsubscribing to zephyrs.hThe message was received with correct authentication, or should be authenticated for outgoing notices.8The message was or will be sent with no authentication.6The message was received with invalid authentication. represent the kinds of +s sent or received by the Zephyr system.0Wrapper for the Zephyr Code_t type1 Translate a 0# into a human-readable error using com_err.J represents the authentication used when sending or receiving a Zephyr.2Helper combinator to marshal a  3'Helper combinator to marshal a list of  s4+A helper to allocate memory for a single C  ZNotice_t.5!A helper combinator to marshal a  to a  ZNotice_t.6Parse a  ZNotice_t into a  record.F789:; 0<=>?@ABCDEFGHIJKLMNOPQR1 !2S3456F789:; 0<=>?@ABCDEFGHIJKLMNOPQR1 !2S3456-789:;  0<=>?@ABCDEFGHIJKLMNOPQR1 !2S3456NoneTilibzephyr is completely non-threadsafe, so we serialize all accesses to libzephyr using a global MVar.U,A simple combinator to access the above MVarV]fail with the appropriate error message unless the provided Code_t is 0 (no error), using com_err"Initialize libzephyr.#-Return the name of the current Zephyr sender.$%Return the realm of the current host.%Send a .& Receive a @ from the zephyr servers. Blocks until a notice is available.'`Checks for new incoming packets and then returns the number of pending messages in the queue.($Try to receive a ZNotice, returning / if no notice is available.) Cancel all zephyr subscriptions.*(Subscribe to one or more Zephyr triples.+,Unsubscribe from one or more Zephyr triples.,@Holds the default display format used by outgoing Zephyrs by zwrite.- A default N suitable for use as a template when creating a new notice for sending via %.TUWV"#$%&XY'()*+,-.  !"#$%&'()*+,-."#$%&'()*+,-   !TUWV"#$%&XY'()*+,-Z      !"#$%&'()*+,-./0./123456789:;;<2=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ#hszephyr-0.2-FQvP5EBg7KaGSU9hJJvAQKNetwork.ZephyrNetwork.Zephyr.CBitsZNotice z_versionz_class z_instance z_recipientz_opcodez_sender z_default_fmtz_kindz_authz_fieldsz_time ZSubscription sub_class sub_instance sub_recipientZAuth AuthenticatedUnauthenticatedAuthenticationFailed ZNoticeKind unZNoticeKind kind_unsafe kind_unacked kind_acked kind_hmack kind_hmctl kind_servack kind_servnakkind_clientack kind_stat initialize getSendergetRealm sendNotice receiveNoticependingNoticestryReceiveNoticecancelSubscriptions subscribeTo unsubscribeTo defaultFmt emptyNoticebaseGHC.BaseJustNothingCode_t error_messagewithZSubscriptionwithSubs allocaZNotice withZNotice parseZNotice ZAuthProcPortSockAddr unSockAddrunCode_tmemsetz_fd z_pending z_free_noticez_check_authenticationz_receive_noticez_unsubscribe_toz_subscribe_toz_cancel_subscriptionsz_make_authentication z_send_noticez_realm z_get_sender z_close_port z_open_port z_initializec_error_message zerr_nonezauth_no zauth_yes zauth_failedsubSize zephyrMVar withZephyrcomErr defaultPortreceiveNotice'pendingNotices'