b60a8ef409
OpcUaEndpointConfigSerializer: - ToFlatDict emits new scalar keys (DiscardOldest, SubscriptionPriority, SubscriptionDisplayName, TimestampsToReturn). - ToFlatDict emits dotted sub-object keys (UserIdentity.TokenType / Username / Password / CertificatePath / CertificatePassword, Deadband.Type / Value) when those sub-objects are non-null. - FromFlatDict reads the same keys back; missing keys preserve POCO defaults. - Deadband.Value uses InvariantCulture for double parsing/formatting. OpcUaEndpointConfigValidator: - SubscriptionDisplayName required (non-empty). - UserIdentity.UsernamePassword requires Username. - UserIdentity.X509Certificate requires CertificatePath. - Deadband.Value must be > 0 when Deadband is set. - fieldPrefix propagates through sub-object error EntityNames. Drives the 11 previously-failing tests green; 51/51 in the suite now pass.