text:
//
// System.DirectoryServices.DirectoryEntry.cs
//
// Authors:
//   Sunil Kumar (sunilk@novell.com)
//   Andreas Nahr (ClassDevelopment@A-SoftTech.com)
//
// (C)  Novell Inc.
//

using System.ComponentModel;
using Novell.Directory.Ldap;
using Novell.Directory.Ldap.Utilclass;
using System.Globalization;
using System.DirectoryServices.Design;

namespace System.DirectoryServices
{

	/// <summary>
	///Encapsulates a node or object in the Ldap Directory hierarchy.
	/// </summary>
	[TypeConverter (typeof (DirectoryEntryConverter))]
	public class DirectoryEntry : Component
	{

		private LdapConnection _conn = null;
		private AuthenticationTypes _AuthenticationType=AuthenticationTypes.None;
		private DirectoryEntries _Children;
		private string _Fdn = null;
		private string _Path="";
		private string _Name=null;
		private DirectoryEntry _Parent=null;
		private string _Username;
		private string _Password;
		//private string _Nativeguid;
		private PropertyCollection _Properties = null;
		private string _SchemaClassName=null;
		private bool _Nflag = false;
		private bool _usePropertyCache=true;
		private bool _inPropertiesLoading;

		/// <summary>
		/// Returns entry's Fully distinguished name.
		/// </summary>
		internal string Fdn
		{
			get	{
				if (_Fdn == null) {
					LdapUrl lUrl = new LdapUrl(Path);
					string fDn=lUrl.getDN();
					if(fDn != null)
						_Fdn = fDn;
					else
						_Fdn="";
				}
				return _Fdn;
			}
		}

		/// <summary>
		///  Returns the connection object used to communicate with
		/// Ldap server
		/// </summary>
		internal LdapConnection conn
		{
			get			{
				if( _conn == null)
					InitBlock();

				return _conn;
			}
			set			{
				_conn=value;
			}
		}

		/// <summary>
		/// Flag to check whether the entry is to be cerated or it already
		/// exists.
		/// </summary>
		internal bool Nflag
		{
			get			{
				return _Nflag;
			}
			set			{
				_Nflag = value;
			}
		}

		/// <summary> Initializes the Connection and other properties.
		///
		/// </summary>
		private void InitBlock()
		{
			try			{
				_conn= new LdapConnection ();
				LdapUrl lUrl=new LdapUrl (Path);
				_conn.Connect(lUrl.Host,lUrl.Port);
				_conn.Bind(Username,Password);
			}
			catch(LdapException ex)			{
				throw ex;
			}
			catch(Exception e)			{
				throw e;
			}
		}

		/// <summary>
		/// Initializes the Entry specific properties e.g entry DN etc.
		/// </summary>
		void InitEntry()
		{
			LdapUrl lUrl=new LdapUrl (Path);
			if(lUrl.getDN()!=null)			{
				DN userDn = new DN(lUrl.getDN());
				String[] lRdn = userDn.explodeDN(false);
				_Name = (string)lRdn[0];
				_Parent = new DirectoryEntry(conn);
				LdapUrl cUrl=new LdapUrl(lUrl.Host,lUrl.Port,userDn.Parent.ToString());
				_Parent.Path=cUrl.ToString();
			}
			else			{
				_Name=lUrl.Host+":"+lUrl.Port;
				_Parent = new DirectoryEntry(conn);
				_Parent.Path = "Ldap:";
			}
		}

		/// <summary>
		/// Initializes a new instance of the DirectoryEntry class
		/// </summary>
		public DirectoryEntry()
		{
		}

		/// <summary>
		/// Initializes a new instance of the DirectoryEntry class that binds
		///  to the specified native Active Directory object.
		/// </summary>
		/// <param name="adsObject"> native active directory object</param>
		public DirectoryEntry(object adsObject)
		{
			 throw new NotImplementedException();
		}

		/// <summary>
		/// Initializes a new instance of the DirectoryEntry class that binds
		///  this instance to the node in Ldap Directory located at the
		///  specified path.
		/// </summary>
		/// <param name="path"> Path of the entry i.e Ldap URL specifying
		/// entry path</param>
		public DirectoryEntry(string path)
		{
			_Path=path;
		}

		/// <summary>
		/// Initializes a new instance of the DirectoryEntry class. The Path,
		///  Username, and Password properties are set to the specified values.
		/// </summary>
		/// <param name="path">Path of the entry i.e Ldap URL specifying
		/// entry path</param>
		/// <param name="username">user name to use when authenticating the client
		/// </param>
		/// <param name="password">password to use when authenticating the client
		/// </param>
		public DirectoryEntry(string path,string username,string password)
		{
			_Path=path;
			_Username=username;
			_Password=password;
		}

		/// <summary>
		/// Initializes a new instance of the DirectoryEntry class. The Path,
		///  Username, and Password properties are set to the specified values.
		/// </summary>
		/// <param name="path">Path of the entry i.e Ldap URL specifying
		/// entry path</param>
		/// <param name="username">user name to use when authenticating the client
		/// </param>
		/// <param name="password">password to use when authenticating the client
		/// </param>
		/// <param name="authenticationType"> type of authentication to use</param>
		public DirectoryEntry(
				string path,
				string username,
				string password,
				AuthenticationTypes authenticationType)
		{
			_Path=path;
			_Username=username;
			_Password=password;
			_AuthenticationType=authenticationType;
		}

		/// <summary>
		/// Creates the entry object
		/// </summary>
		/// <param name="lconn">Connection object used to communicate with
		/// Ldap server</param>
		internal DirectoryEntry(LdapConnection lconn)
		{
			conn = lconn;
		}

		/// <summary>
		/// Returns Type of authentication to use while Binding to Ldap server
		/// </summary>
		[DSDescription ("Type of authentication to use while Binding to Ldap server")]
		[DefaultValue (AuthenticationTypes.None)]
		public AuthenticationTypes AuthenticationType
		{
			get
			{
				return _AuthenticationType;
			}
			set
			{
				_AuthenticationType = value;
			}
		}

		/// <summary>
		/// Gets a DirectoryEntries containing the child entries of this node
		///  in the Ldap Directory hierarchy.
		/// </summary>
		/// <value>A DirectoryEntries containing the child entries of this node
		///  in the Ldap Directory hierarchy.</value>
		///  <remarks>
		///  The child entries are only the immediate children of this node.
		///  Use this property to find, retrieve, or create a directory entry
		///  in the hierarchy. This property is a collection that, along with
		///  usual iteration capabilities, provides an Add method through which
		///  you add a node to the collection directly below the parent node
		///  that you are currently bound to. When adding a node to the
		///  collection, you must specify a name for the new node and the name of
		///  a schema template that you want to associate with the node. For
		///  example, you might want to use a schema titled "Computer" to add
		///  new computers to the hierarchy.
		///  </remarks>
		[DSDescription ("Child entries of this node")]
		[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
		[Browsable (false)]
		public DirectoryEntries Children
		{
			get
			{
				_Children = new DirectoryEntries(Path, conn);
				return _Children;
			}
		}

		/// <summary>
		/// Gets the globally unique identifier (GUID) of the DirectoryEntry
		/// </summary>
		/// <value>The globally unique identifier of the DirectoryEntry.</value>
		/// <remarks>
		/// Not implemented yet.
		/// </remarks>
		[DSDescription ("A globally unique identifier for this DirectoryEntry")]
		[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
		[Browsable (false)]
		[MonoTODO]
		public Guid Guid
		{
			get
			{
				throw new NotImplementedException();
			}

		}

		/// <summary>
		/// Gets the name of the object as named with the underlying directory
		///  service
		/// </summary>
		/// <value>The name of the object as named with the underlying directory
		///  service</value>
		/// <remarks>This name, along with SchemaClassName, distinguishes this
		///  entry from its siblings and must be unique amongst its siblings
		///  in each instance of DirectoryEntry.</remarks>
		[DSDescription ("The name of the object as named with the underlying directory")]
		[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
		[Browsable (false)]
		public string Name
		{
			get								{
				if(_Name==null)				{
					if(CheckEntry(conn,Path))
						InitEntry();
					else
						throw new SystemException("There is no such object on the server");
				}
				return _Name;
			}
		}

		/// <summary>
		/// Gets this entry's parent in the Ldap Directory hierarchy.
		/// </summary>
		/// <value>This entry's parent in the Active Directory hierarc</value>
		[DSDescription ("This entry's parent in the Ldap Directory hierarchy.")]
		[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
		[Browsable (false)]
		public DirectoryEntry Parent
		{
			get			{
				if(_Parent==null)				{
					if(CheckEntry(conn,Path))
						InitEntry();
					else
						throw new SystemException("There is no such object on the server");
				}
				return _Parent;
			}
		}

		/// <summary>
		/// Gets the globally unique identifier of the DirectoryEntry, as
		/// returned from the provider
		/// </summary>
		/// <value>
		/// The globally unique identifier of the DirectoryEntry, as returned
		/// from the provider.
		/// </value>
		/// <remarks>
		/// Not implemented yet.
		/// </remarks>
		[DSDescription ("The globally unique identifier of the DirectoryEntry, as returned from the provider")]
		[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
		[Browsable (false)]
		[MonoTODO]
		public string NativeGuid
		{
			get			{
				throw new NotImplementedException();
			}
		}

		/// <summary>
		/// Gets the native Active Directory Service Interfaces (ADSI) object.
		/// </summary>
		/// <remarks>
		/// Not implemented yet
		[DSDescription ("The native Active Directory Service Interfaces (ADSI) object.")]
		[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
		[Browsable (false)]
		public object NativeObject
		{
			[MonoTODO]
			get			{
				throw new NotImplementedException();
			}
		}

		/// <summary>
		/// Determines if a cache should be used.
		/// </summary>
		[DSDescription ("Determines if a cache should be used.")]
		[DefaultValue (true)]
		public bool UsePropertyCache
		{
			get
			{
				return _usePropertyCache;
			}
			set
			{
				_usePropertyCache = value;
			}
		}

		/// <summary>
		/// Gets or sets the password to use when authenticating the client.
		/// </summary>
		/// <value>
		/// The password to use when authenticating the client.
		/// </value>
		/// <remarks>
		/// You can set the Username and password in order to specify alternate
		/// credentials with which to access the information in Ldap Directory.
		/// Any other DirectoryEntry objects retrieved from this instance (for
		/// example, through Children) are automatically created with the same
		/// alternate credentials.
		/// </remarks>
		[DSDescription ("The password to use when authenticating the client.")]
		[DefaultValue (null)]
		[Browsable (false)]
		public string Password
		{
			get		{
				return _Password;
			}
			set			{
				_Password = value;
			}

		}

		/// <summary>
		/// Gets or sets the user name to use when authenticating the client.
		/// </summary>
		/// <value>
		/// The user name to use when authenticating the client.
		/// </value>
		/// <remarks>
		/// You can set the user name and Password in order to specify alternate
		/// credentials with which to access the information in Ldap Directory.
		/// Any other DirectoryEntry objects retrieved from this instance (for
		/// example, through Children) are automatically created with the same
		/// alternate
		/// </remarks>
		[DSDescription ("The user name to use when authenticating the client.")]
		[DefaultValue (null)]
		[Browsable (false)]
		[TypeConverter ("System.Diagnostics.Design.StringValueConverter, " + Consts.AssemblySystem_Design)]
		public string Username
		{
			get			{
				return _Username ;
			}
			set			{
				_Username = value;
			}

		}

		/// <summary>
		/// Gets or sets the path for this DirectoryEntry.
		/// </summary>
		/// <value>
		/// The path of this DirectoryEntry. The default is an empty string ("").
		/// </value>
		/// <remarks>
		/// The Path property uniquely identifies this entry in a networked
		/// environment. This entry can always be retrieved using this Path.
		///
		/// Setting the Path retrieves a new entry from the directory store; it
		/// does not change the path of the currently bound entry.
		///
		/// The classes associated with the DirectoryEntry component can be used
		/// with any of the  Directory service providers. Some of the current
		/// providers are Internet Information Services (IIS), Lightweight Directory
		/// Access Protocol (Ldap), Novell NetWare Directory Service (NDS), and WinNT.
		///
		/// Currently we Support only Ldap provider.
		/// e.g Ldap://[hostname]:[port number]/[ObjectFDN]
		/// </remarks>
		[DSDescription ("The path for this DirectoryEntry.")]
		[DefaultValue ("")]
		[RecommendedAsConfigurable (true)]
		[TypeConverter ("System.Diagnostics.Design.StringValueConverter, " + Consts.AssemblySystem_Design)]
		public string Path
		{
			get			{
				return _Path;
			}
			set			{
				_Path = value;
			}

		}

		/// <summary>
		/// Gets a PropertyCollection of properties set on this object.
		/// </summary>
		/// <value>
		/// A PropertyCollection of properties set on this object.
		/// </value>
		[DSDescription ("Properties set on this object.")]
		[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
		[Browsable (false)]
		public PropertyCollection Properties
		{
			get			{
				if ( _Properties == null )				{

					_Properties =  new PropertyCollection(this);
					_inPropertiesLoading = true;

					try					{
						LdapSearchResults lsc=conn.Search(	Fdn,
															LdapConnection.SCOPE_BASE,
															"objectClass=*",
															null,
															false);
						while(lsc.hasMore())						{

							LdapEntry nextEntry = null;
							try 							{
								nextEntry = lsc.next();
							}
							catch(LdapException e) 							{
								// Exception is thrown, go for next entry
								throw e;
							}
							LdapAttributeSet attributeSet = nextEntry.getAttributeSet();
							System.Collections.IEnumerator ienum=attributeSet.GetEnumerator();
							if(ienum!=null)							{
								while(ienum.MoveNext())				{
									LdapAttribute attribute=(LdapAttribute)ienum.Current;
									string attributeName = attribute.Name;
									_Properties[attributeName].AddRange(attribute.StringValueArray);
									_Properties[attributeName].Mbit=false;
									//							string attributeVal = attribute.StringValue;
									//							_Properties[attributeName].Add(attributeVal);
								}
							}
							break;
						}
					}
					catch( LdapException le)					{
						if(le.ResultCode == LdapException.NO_SUCH_OBJECT)
						{	}
					}
					finally {
						_inPropertiesLoading = false;
					}
				}
				return _Properties;
			}
		}

		/// <summary>
		/// Gets the name of the schema used for this DirectoryEntry
		/// </summary>
		/// <value>
		/// The name of the schema used for this DirectoryEntry.
		/// </value>
		[DSDescription ("The name of the schema used for this DirectoryEntry.")]
		[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
		[Browsable (false)]
		public string SchemaClassName
		{
			get			{
				if(_SchemaClassName==null)				{
						_SchemaClassName = FindAttrValue("structuralObjectClass");
				}
				return _SchemaClassName;
			}
		}

		/// <summary>
		/// Gets the current schema directory entry.
		/// </summary>
		/// <remarks>
		/// Not implemented yet
		[DSDescription ("The current schema directory entry.")]
		[DesignerSerializationVisibility (DesignerSerializationVisibility.Hidden)]
		[Browsable (false)]
		public DirectoryEntry SchemaEntry
		{
			[MonoTODO]
			get			{
				throw new NotImplementedException();
			}
		}

		/// <summary>
		/// Searches an entry in the Ldap directory and returns the attribute value
		/// </summary>
		/// <param name="attrName">attribute whose value is required</param>
		/// <returns> value of the attribute stored in Ldap directory</returns>
		private string FindAttrValue(string attrName)
		{
			string aValue=null;
			string[] attrs={attrName};

			LdapSearchResults lsc=conn.Search(	Fdn,
												LdapConnection.SCOPE_BASE,
												"objectClass=*",
												attrs,
												false);
			while(lsc.hasMore())			{
				LdapEntry nextEntry = null;
				try 						{
					nextEntry = lsc.next();
				}
				catch(LdapException e)		{
					// Exception is thrown, go for next entry
					throw e;
				}
				LdapAttribute attribute = nextEntry.getAttribute(attrName);
				aValue = attribute.StringValue;
				break;
			}
			return aValue;
		}

		/// <summary>
		/// Modifies an entry in the Ldap directory with the input LdapModification
		/// values.
		/// </summary>
		/// <param name="mods">Array consisting of the entry attribute name and the
		/// attribute  values to be modified.</param>
		private void ModEntry(LdapModification[] mods)
		{

			try						{
				conn.Modify(Fdn,mods);
			}
			catch(LdapException le)	{
				throw le;
			}
		}

		/// <summary>
		/// Checks whether the entry exists in the Ldap directory or not
		/// </summary>
		/// <param name="lconn">
		/// Connection used to communicate with directory
		/// </param>
		/// <param name="epath">
		/// path of the entry
		/// </param>
		/// <returns>
		///		true of the entry exists in the Ldap directory
		///		false if entry doesn't exists
		/// </returns>
		private static bool CheckEntry(LdapConnection lconn, string epath)
		{
			LdapUrl lUrl=new LdapUrl(epath);
			string eDn=lUrl.getDN();
			if(eDn==null)
			{
				eDn="";
			}
			string[] attrs={"objectClass"};
			try
			{
				LdapSearchResults lsc=lconn.Search(	eDn,
					LdapConnection.SCOPE_BASE,
					"objectClass=*",
					attrs,
					false);
				while(lsc.hasMore())
				{
					LdapEntry nextEntry = null;
					try
					{
						nextEntry = lsc.next();
					}
					catch(LdapException e)
					{
						// Exception is thrown, go for next entry
						throw e;
					}
					break;
				}

			}
			catch(LdapException le)
			{
				if(le.ResultCode == LdapException.NO_SUCH_OBJECT)
				{
					return false;
				}
				else
				{
					throw le;
				}
			}
			catch(Exception e)
			{
				throw e;
			}
			return true;
		}

		/// <summary>
		/// Closes the DirectoryEntry and releases any system resources associated
		/// with this component.
		/// </summary>
		/// <remarks>
		/// Following a call to Close, any operations on the DirectoryEntry might
		/// raise exceptions.
		/// </remarks>
		public void Close()
		{
			if (conn.Connected) {
				conn.Disconnect();
			}
		}

		/// <summary>
		/// Creates a copy of this entry as a child of the specified parent.
		/// </summary>
		/// <param name="newParent">The parent DirectoryEntry. 	</param>
		/// <returns>A copy of this entry as a child of the specified parent.
		[MonoTODO]
		public DirectoryEntry CopyTo(DirectoryEntry newParent)
		{
			throw new NotImplementedException();
		}

		/// <summary>
		/// Deletes this entry and its entire subtree from the Active Directory
		/// hierarchy.
		/// </summary>
		/// <remarks>
		/// CAUTION   The entry and its entire subtree are deleted from the
		/// Ldap Directory hierarchy.
		/// </remarks>
		public void DeleteTree()
		{
			System.Collections.IEnumerator ienum = Children.GetEnumerator();
			while(ienum.MoveNext())
			{
				DirectoryEntry de=(DirectoryEntry)ienum.Current;
				conn.Delete(de.Fdn);
			}
			conn.Delete(Fdn);
		}

		/// <summary>
		/// Searches the directory store at the specified path to see whether
		/// an entry exists
		/// </summary>
		/// <param name="path">
		/// The path at which to search the directory store.
		/// </param>
		/// <returns>
		/// true if an entry exists in the directory store at the specified
		/// path; otherwise, false.
		/// </returns>
		public static bool Exists(string path)
		{
			LdapConnection aconn=new LdapConnection();
			LdapUrl lurl=new LdapUrl(path);
			aconn.Connect(lurl.Host,lurl.Port);
			aconn.Bind("","");
			if(CheckEntry(aconn,path))
				return true;
			else
				return false;
		}

		/// <summary>
		/// Moves this entry to the specified parent.
		/// </summary>
		/// <param name="pentry">
		/// The parent to which you want to move this entry
		/// </param>
		public void MoveTo(DirectoryEntry newParent)
		{
			string oldParentFdn = Parent.Fdn;
			conn.Rename(Fdn, Name, newParent.Fdn, true);
			// TBD : threat multiple name instance in path
			Path = Path.Replace(oldParentFdn,newParent.Fdn);
			RefreshEntry();
		}

		/// <summary>
		/// Moves this entry to the specified parent and changes its name to
		/// the value of the newName parameter.
		/// </summary>
		/// <param name="newParent"> The parent to which you want to move
		/// this entry
		/// </param>
		/// <param name="newName">
		/// The new name of this entry.
		/// </param>
		public void MoveTo(	DirectoryEntry newParent,
							string newName	)
		{
			string oldParentFdn = Parent.Fdn;
			conn.Rename(Fdn, newName, newParent.Fdn, true);
			// TBD : threat multiple name instance in path
			Path = Path.Replace(oldParentFdn,newParent.Fdn).Replace(Name,newName);
			RefreshEntry();
		}

		/// <summary>
		/// Changes the name of this entry.
		/// </summary>
		/// <param name="newName">
		/// The new name of the entry.
		/// </param>
		/// <remarks>
		/// Note   This will also affect the path used to refer to this entry.
		/// </remarks>
		public void Rename(	string newName	)
		{
			string oldName = Name;
			conn.Rename( Fdn, newName, true);
			// TBD : threat multiple name instance in path
			Path = Path.Replace(oldName,newName);
			RefreshEntry();
		}

		/// <summary>
		/// Calls a method on the native Active Directory.
		/// </summary>
		/// <param name="methodName">The name of the method to invoke.
		/// </param>
		/// <param name="args">
		/// An array of type Object that contains the arguments of the method
		/// to invoke.
		/// </param>
		/// <returns>The return value of the invoked method</returns>
		/// <remarks>
		/// Not implemented.
		[MonoTODO]
		public object Invoke(string methodName,
			params object[] args)
		{
			throw new NotImplementedException();
		}

		/// <summary>
		/// Creates a copy of this entry, as a child of the specified parent, with
		/// the specified new name.
		/// </summary>
		/// <param name="newParent">The parent DirectoryEntry. 	</param>
		/// <param name="newName"> The name of the copy of this entry.
		/// </param>
		/// <returns>A renamed copy of this entry as a child of the specified parent.
		[MonoTODO]
		public DirectoryEntry CopyTo( DirectoryEntry newParent,
			string newName	)
		{
			throw new NotImplementedException();
		}

		/// <summary>
		/// Saves any changes to the entry in the Ldap Directory store.
		/// </summary>
		/// <remarks>
		/// By default, changes to properties are done locally to a cache, and
		/// property values to be read are cached after the first read. For more
		/// information, see UsePropertyCache.
		/// Changes made to the cache include changes to the properties as well as
		/// calls to Add (if this is the newly created entry).
		/// </remarks>
		public void CommitChanges()
		{
			if(UsePropertyCache)
			{
				CommitEntry();
			}
		}

		private void CommitEntry()
		{
			if(!Nflag)
			{
				System.Collections.ArrayList modList = new System.Collections.ArrayList();
				System.Collections.IDictionaryEnumerator id = Properties.GetEnumerator();
				while(id.MoveNext())
				{
					string attribute=(string)id.Key;
					LdapAttribute attr=null;
					if(Properties[attribute].Mbit)
					{
						if(Properties[attribute].Count==1)
						{
							String val = (String)Properties[attribute].Value;
							attr = new LdapAttribute( attribute , val);
						}
						else
						{
							Object[] vals=(Object [])Properties[attribute].Value;
							String[] aStrVals= new String[Properties[attribute].Count];
							Array.Copy(vals,0,aStrVals,0,Properties[attribute].Count);
							attr = new LdapAttribute( attribute , aStrVals);
						}
						modList.Add( new LdapModification(LdapModification.REPLACE, attr));
						Properties[attribute].Mbit=false;
					}
				}
				if (modList.Count > 0) {
					LdapModification[] mods = new LdapModification[modList.Count];
					Type mtype=Type.GetType("System.DirectoryServices.LdapModification");
					mods = (LdapModification[])modList.ToArray(typeof(LdapModification));
					ModEntry(mods);
				}
			}
			else
			{
				LdapAttributeSet attributeSet = new LdapAttributeSet();
				System.Collections.IDictionaryEnumerator id = Properties.GetEnumerator();
				while(id.MoveNext())
				{
					string attribute=(string)id.Key;
					if(Properties[attribute].Count==1)
					{
						String val = (String)Properties[attribute].Value;
						attributeSet.Add(new LdapAttribute(attribute, val));
					}
					else
					{
						Object[] vals=(Object [])Properties[attribute].Value;
						String[] aStrVals= new String[Properties[attribute].Count];
						Array.Copy(vals,0,aStrVals,0,Properties[attribute].Count);
						attributeSet.Add( new LdapAttribute( attribute , aStrVals));
					}
				}
				LdapEntry newEntry = new LdapEntry( Fdn, attributeSet );
				conn.Add( newEntry );
				Nflag = false;
			}
		}

		internal void CommitDeferred()
		{
			if (!_inPropertiesLoading && !UsePropertyCache && !Nflag)
			{
				CommitEntry();
			}
		}

		void RefreshEntry()
		{
			_Properties = null;
			_Fdn = null;
			_Name = null;
			_Parent = null;
			_SchemaClassName = null;
			InitEntry();
		}

		[MonoTODO]
		public void RefreshCache ()
		{
			throw new NotImplementedException ("System.DirectoryServices.DirectoryEntry.RefreshCache()");
		}

		[MonoTODO]
		public void RefreshCache (string[] args)
		{
			throw new NotImplementedException ("System.DirectoryServices.DirectoryEntry.RefreshCache(System.String[])");
		}

		protected override void Dispose (bool disposing)
		{
			if (disposing) {
				Close ();
			}
			base.Dispose (disposing);
		}
	}
}


text:
María Rosa Oliver (María Rosa Lucía Oliver Romero) (Buenos Aires, 10 de septiembre de 1898 - Buenos Aires, 19 de abril de 1977) fue una escritora, ensayista y activista argentina.

Biografía

Perteneciente a familia patricia argentina, fue hija de Francisco José Oliver y María Rita Romero, la primera de ocho hijos y descendiente en línea colateral de María de los Remedios de Escalada de San Martín.

A la edad de 10 años contrajo poliomielitis quedando postrada en una silla de ruedas por el resto de su vida.

Fue una de las fundadoras de la Revista Sur junto a su íntima amiga Victoria Ocampo, formando allí parte del Comité de Redacción. Con ella también fundó en 1936 la Unión Argentina de Mujeres (UAM) -que no debe confundirse con la Unión de Mujeres de la Argentina (UMA), creada hacia 1947- promoviendo el voto femenino. En 1938, asumió la presidencia de la UAM.

Entre sus amigos se contaron Eduardo Mallea, Federico García Lorca, Gabriela Mistral, Miguel Ángel Asturias, Luis Saslavsky, Alfonso Reyes, Pablo Neruda, Pelegrina Pastorino, Vinicius de Moraes y Waldo Frank.

Viajó con su familia a Europa en 1921 y a Estados Unidos en 1942, luchando con la causa aliada en contra del nazismo.

Trabajó para el Consejo Mundial de la Paz entre 1948-1962 y en Washington, como asesora cultural de la Oficina Coordinadora de Asuntos Interamericanos, invitada por la administración Roosevelt.

Ayudó a los exiliados de la Guerra Civil Española y en 1958 recibió el Premio Lenin de la Paz.

Viajó a China y Cuba; era amiga del Che Guevara, con quien mantuvo correspondencia.

Poseía una casa en Las Toninas, sobre el mar, a la cual invitaba a sus amistades y se retiraba a escribir.

Escribió tres volúmenes de su autobiografía, cuyo último volumen, Mi fe es el hombre, concluyó antes de morir.

Su asistente, Josefa "Pepa" Freire, la acompañó en vida y en todos sus viajes y fue mencionada con admiración varias veces por Simone de Beauvoir.

Murió de un ataque al corazón a la edad de 78 años.

Publicaciones

Geografía Argentina, Buenos Aires, Sudamericana, 1939.
América vista por una mujer argentina, Buenos Aires, Salzmann y Cia., 1945.
Lo que sabemos, hablamos…Testimonio sobre la China de hoy, Buenos Aires, Botella al Mar, 1955 (en coautoría con Norberto Frontini).
Mundo, mi casa, Buenos Aires, Falbo, 1965.
La vida cotidiana, Buenos Aires, Sudamericana, 1969.
Mi fe es el hombre, Buenos Aires, C. Lohlé, 1981.

Biografías

 Hebe Clementi, María Rosa Oliver, Buenos Aires, Planeta, 1992.

Referencias

Enlaces externos

"Cuando la plenitud nace de la carencia", nota en La Nación 2003
 Archivo en la Princeton University

Ensayistas de Argentina
Escritores de la ciudad de Buenos Aires
Escritoras de Argentina
Feministas de Argentina
Fallecidos por infarto agudo de miocardio
Antifascistas de Argentina
Comunistas de Argentina
Fallecidos en Buenos Aires
Argentinas del siglo XX

redpajama_set_name: RedPajamaWikipedia


Trust: "The reliance on the integrity, strength, ability, surety of a person or thing." So many of us want to believe in this one simple concept, but ultimately find it rather difficult to fully engage in the true essence of the word. Let's face it, once you give someone over that power, you position yourself in a very vulnerable place where you automatically give them the opportunity to potentially hurt you. Because of this possibility, it saddens me that so many of us hold back or refrain entirely from giving ourselves the permission to "lay our hearts on our sleeves" in order to possibly experience something life changing. As I trusted myself to experiment with new techniques while painting "STTUR" 30×24, I reflected on how we so often find ourselves second guessing people's motives and convincing ourselves that we actually don't deserve certain things due to the fact that our hesitancies have been previously proven right by being hurt when we decided to finally let our walls down. Each time we get hurt, our "walls" get higher and higher and are much more difficult to surmount making it almost easier just to stay guarded, protected and less trustful. But I truly believe, to my core, that this is absolutely no way to live. So how do we get over this paralyzing fear and how do we find the courage it takes to trust again? I don't have any fail safe, technical, psychological "must do" steps to suggest, and I assure you that I have had my fair share of trust breaking moments, but what keeps me open and willing to be hurt again is the fact that I get to feel the way that I feel right now in this moment. I have been blessed with finding a love that knows no limits and I couldn't imagine denying myself this experience purely because I was too scared to even try. "Just open your heart and give… Trust in the goodness of man and allow yourself to be overwhelmed." It means "jumping off a cliff and having faith that they will be there to catch you." I have learned to approach trust with open arms and rely on my faith that if what I desire is supposed to be, then the universe will follow suit and make it so. By giving into this faith, I have witnessed first hand the power that compete trust in someone and their love for you can move mountains and overcome any obstacle. I have learned that by trusting someone to your fullest capacity gives rise to a self confidence and essentially a trust in yourself that you wouldn't have otherwise known. Because of this willingness to put fear aside, I can truly say that I am absolutely, positively, unquestionably, no strings attached, beyond any doubt, unconditionally in love and look forward to where my openness to this trust will eventually take me. Set your fear aside and wholeheartedly choose who you are going to trust. I guarantee it'll be worth it.


The design of a website is one of the most important factors defining its success. You may have empowered your website with latest functionalities and have done effective SEO to rank high in the search rankings but if the visitors are not able to find for what they come to your site, all that will be a waste. The visitors will not stay on your site and they have to go to your competitors for their needs.
The design of your website must be in a way to provide the visitors an amazing user experience and keep them engaged. There are so may design tools and technologies these days which help you to give your website an effective design but some of the basic things are always same and you have to include them in your web design.
Responsive design of a website is a must-have these days. The number of mobile internet users is increasing every day and your website will be browsed on different devices like a mobile or a tablet. If your website is not fitting all the screens then it may interfere with the visitor flow on your website and you may lose some potential customers. You can not develop a different website for every device. So you need to design a website with responsive feature so that it can be browsed comfortably on any device be it a desktop, mobile or a tablet. It will enhance the user experience of your website. Moreover, Google considers the responsive design feature as one of the parameters while determining the search engine rankings.
Strategic use of colors can really boost the design of your website. You need to use colors that can complement your brand logo and there must be a streamlined use of colors throughout the website. Choosing a neutral color pattern can give your website an elegant and modern look. You can use colors for highlighting the headings to guide the visitors to important information. Filling your website with bright colors may not be a good idea while a consistent color scheme can provide your website a more pleasing look.
You may be using a lot of image on your website for a beautiful look and better explanation but using too many of them can go wrong. If you use an excess of images on your site then they may confuse the visitors. You should use images for only relevant information and put them on specific places where they can make more sense.
One more such confusing thing is complicated animations used on the website. A heavily padded content may also frustrate the visitors. All these things also make your site load slow and if your site takes too long to load the visitors will more likely leave it.
You need to remove all this clutter from the website which gives your site a confusing look and make your site slow. It will help to improve the design of your site and give a better user experience to the visitors.
You may not be too much concerned about choosing the fonts for your website and use any font randomly. But, it is not as simple as that you need to be very careful while selecting the fonts. Some fonts may look good on a desktop but may not fit a mobile screen so you need to choose a font that is readable on every device and across all the browsers. If you want to use web fonts then do not use more than two font families else you may an increase in the loading time of your site.
Calls to action are buttons, images or text which prompt the visitor to take an action like to buy a product, to subscribe the newsletter or to download something. These calls to action play an important role in the modern day web design. It guides the visitor for certain tasks after arriving on your site. Sometimes the visitors find it difficult what to do and what not, so a call to action can make them decide. You can also use calls to action to drive the users to most important information or most vital part of your website.
Web design is just not about making your site look beautiful, it is much more than that. A design where a visitor can reach to the desired information with ease is considered the best. The navigation of your website is a key designing factor playing an important role in enhancing the overall user experience. You need to make sure that the navigation on your site is simple and easy where a user can easily find the information he is looking for. If you are not able to drive the user to the required information then no point for the to be on your site. It can cause a serious downfall in the popularity of your website. Try to enhance the navigation as much as you can so that a visitor can enjoy the ease of finding the information.
You need not fill every bit of your page with text or images. You have to create white space between the paragraphs or images so that the user can focus on the information. It makes a user to effectively go through about your offerings. It will help to improve the user experience and increase the visitor flow on your website.
You can follow these tips to enhance the design of your website. If you are able to present the required information to the visitors within few seconds of their landing on your website, then you are already in a winning position. An efficiently designed website will help give an effective insight of your products or services and in turn will increase the conversion rate.
Marie Thomas is a WordPress expert, associated with Wordsuccor Ltd. and has a lot of experience in converting PSD Design to WordPress. She has delivered numerous range of quality products related to this. She has a strong passion for writing useful and insights about WordPress tips and tricks.
« How to Achieve Professional-Looking Websites?


Young: I received an email from Tani, that's all I know.
Kurylas: Who's running the show? We've gone down this path a few times. I even offered to help them out but received little to no response.
Watson: They've continually had number problems, if they don't have 30-35 players CIPP'd we shouldn't even be talking about it.
Kurylas: I think we should require that they start over and submit an application to the TRU. Basically treat them as a new club.
Hughes: Agreed and we need to give them a deadline.
Kolberg: Agree, they need to follow our process. This is pretty late to come to us and not be specific about it. We need to make sure there is a hard date that they have to follow as well.
Young: I can do that, what if we give them a week?
Dodge: Yes, I think you'd want to have it in before the TRU Board call next Monday. That's really the first step to joining the union again.
Kolberg: I think that is fair.
Dodge: I believe below are the divisional alignments that we've discussed. Any discussion?
Hughes: We may want to be aware that the Huns D1/D2 are playing in the North while there D3 are playing in the south. That could be an issue when scheduling the matches.
Dodge: Same for San Antonio, when they have to go to Glendale, we should try to make sure their second side is off.
Young: Same thing for the women, when the Valks I are out of the state, Valks II can be off.
Dodge: Same as last year (6 matches), but we need to get the Lady Quins add'l high-level matches. I have a call into Jarvis on this.
Play H&A for 4 matches, and H or A for 2 more, plus regional playoffs. Teams that played away portion of H or A last season should host H or A this season.
Dodge: Confirming that since we've posted promotion/relegation there were no appeals. We can move into scheduling and divisional alignment.
Dodge: This was also approved by the USA Rugby committees as well as by TRU and Mid-America. These three teams will move into the Mid-America Competitive region. The women's side will continue to participate in the TRU; Tulsa women will CIPP at large as they look to rebuild this year.
Dodge: As far as scheduling, Travis and Wendy are you spearheading the first round?
Hughes: The main thing I need from the D2 rep is for them to reach out to the teams for blackout dates or special requests. I can handle the schedule then.
Dodge: Karl, can you pick that up?
Tolar: Yes, I can do that.
Dodge: Travis, what is your timeline on this?
Hughes: We usually try to shoot for August 1, sooner is better. My starting point is always the D1 schedule. If we can get that hammered out first then I can run with the rest of it. Last year Jeff did that and then I can finish up the men's.
Dodge: Great and Jeff can you make a special reach out to West Houston and San Antonio to make sure they have fields reserved and welcome them to the format, etc. We want to make sure any special issues get dealt with.
Hughes: Are we doing all the MD1 in the spring?
Dodge: I would discuss that with the D1 reps, with the increased number of matches (12) we may need a match or two in the fall. Also note that the men's Gold Cup may be revived and that would only affect the Reds and Blacks. Jeff is on top of that.
Young: For the women I usually wait for the Men's D1 and try to match it up as we can.
Dodge: This proposal isn't going to happen this year but we do need to figure out something for the Harlequins. Otherwise they won't have enough matches (need 6 matches). I put out a feeler out to Jarvis and haven't heard back.
Dale: Greg and I chatted and we felt that moving one of the top D2 teams up would work.
Young: That would be the Reds and they don't feel that they are quite ready for that.
Dodge: We did get a waiver last year for the top D2 teams to play the Harlequins but then TUlsa didn't fulfill that match. John, do you know how your team feels about traveling to pick up two friendlies?
Dale: We did talk about that but nothing concrete has come up. Let me chat with Jarvis and the Quins.
Dodge: If you need help reaching out to other CRs, just let us know.
Young: Same thing, the women have done this for years on our own and I have lots of contacts as well.
Dodge: Wendy, any sense on when his seat is up?
Young: These are 1 year seats that auto-renew, so it runs with the CIPP cycle.
Dodge: Ok, Wendy please send out an email for nominations. The nomination call is open until July 17, nominations announced on the 18th. Clubs can vote until July 27. Then we are hopefully seated by our next RRRC call on August 13.
CMS – Teams data input is going to be due 48 hours from the match completing. We have one of the highest percentages in the country but we need to make sure our teams understand that CMS will be due within 48 hours.
Young: The lock policy is a TRU procedure so I will put that on our agenda for next week.
Limited exception to contiguous side (PROPOSED) – There has been a request for an exception to this rule for only one season. Example, if someone plays at a higher level for two matches they are done at the lower level. This would allow for a club to have a D1 and a D3 club. It would help create competitive balance and if you have a team that just isn't ready for their second side to move up.
50% rules – This has been changed, this has moved from percentages to hard numbers. Example, a player plays 5 D1 matches they cannot play down any longer.
Keuppens: Clarifying that this does not apply to frieldies? It only applies to cup matches?
Kurylas: What about teams playing down in D2?
Dodge: Yes, it is basically half of what the updated match mins are.
Keuppens: What if a player plays in D1, D2 and D3?
Dodge: You can always play up.
Kurylas: Does that include playoff matches?
Dodge: Yes, I think it does. They've treated the CR playoff matches as "league matches".
Normally you can't transfer your CIPP for "rugby related reasons". An exception has been proposed that if you move to try and make a pro team but don't, you can transfer to a local club. I believe it's two transfers that can be accepted.
Player movement restrictions – Very much like the 50% rule, if someone plays in a Pro match, they can't play D1. I believe it's 3 Pro, no D1, 2 D1, no D3, 1 D2, no D3. Meant to balance player development and competition.
Anti-doping rules – USOC has insisted that professional rugby abide by the anti-doping laws. There have been some concerns raised, if someone makes an accusation who bears the burden of proof?
Keuppens: Bloodfest went well, Reds took Men's RRRC with ARPTC Blue on the women's side. TOLA saw Canadian Assassins (men) and the Austin Valkyries 2 (women) win. We have confirmed with USA Rugby that the RRRC men have lost a seed and will only have one seed. Fortunately the Dallas Reds traveled to the East Super Qualifier and received an automatic berth to USA Rugby Club 7s. This does mean that the other seed is up for grabs! On the women's side, ARPTC has two teams this year (two separate registered clubs) and are eligible to send two teams if they win out. Doesn't necessarily mean they will win as they have some competition on the way.
Young: Oklahoma is looking good with 10 men's teams and 6 teams for the women's. There are a few social teams as well and it will be the first weekend of our hybrid RRRC/TOLA.
Keuppens: Wendy, any update on fields?
Young: We won't be at the normal fields because football has first rights but we will be at the Oklahoma Intramural Fields and Rugby Oklahoma has support from Club Sports on lining the fields and having posts.
Dodge: Any update on the USAR requirement that 7s clubs enroll?
Keuppens: I imagine we have a few stragglers and we have to check manually with USAR. I imagine we will have to get a few waivers as the roll-out of this new process was poorly communicated. We're crossing out T's and dotting our I's though, we're requiring rosters from all teams (TOLA/RRRC) so that we are compliant for all tournaments this summer.
Watson: Do you have any idea on how many college players take part in our series?
Keuppens: No idea, there are plenty I'm sure.
Watson: The reason I bring this up is there is a new organization that is stepping up to take over college in the USA. Any players participating in this new proposed league will not be CIPP'd with USA Rugby.
Keuppens: I can tell you that this would be a huge blow to the level of competition for 7s. I would bet that every team has a few college players on their starting roster.
Watson: Right, this is something in the works. The new organization is bringing sponsors, fundraising etc that USA Rugby can't provide. If this proposed organization goes through, college players could potentially be playing for someone else.
Keuppens: This is not good for the game.
Watson: There are some major changes happening at USA Rugby Congress and I feel it is pertinent that our members know what is going on. I don't want it to go on the website but rather directly to the club presidents. Our members need to know what is happening.
Young: Great, please send what you'd like to distribute to Kirk and I and we will make sure it gets out.
Dodge: Ron, if you will get what you are contemplating on sending out to Kirk and Wendy, it will be sent out.
Ron: Ok, I will send it to you and Kirk this week.
Hughes: This is something that has come up year after year; what if we included a playoff round before championships? The top 2 seeded first place teams would get a bye straight into the championship weekend and seeds 3 through 6 would play the wildcard round…with the higher seeded teams hosting the matches.
Dodge: So adding two additional matches to the schedule.
Hughes: Right and I know we are always concerned about adding matches with referee resources.
Dodge: What about having our Championship weekend broken into two weekends? WIth Travis' proposal that would be three weekends.
Keuppens: I'd like to propose this for D2 and D3 as well. We tried it with D1 somewhat last year with Friday and Sunday matches and it still wasn't enough. Maybe 1v2 prior to the Championship weekend. I think there is a player safety component to consider as wll.
Dodge: I don't think we'll need it for Men's D1 this year. I think this would work for D2, D3 and women's.
Young: It would also be interesting that we wouldn't be able to stream those matches since they would be at many different locations.
Hughes: It's really two different issues, the issue with MD3 is that it's three different brackets. There is some perceived bias if you have a weaker bracket vs a strong bracket. This has always been the issue for the MD3.
Dodge: Can we sketch this out on a calendar so we could see how it would fit?
Hughes: I can do that. The other thing we didn't talk about was Sunday matches.
Dodge: The TRU is looking at having MD4/WD3 in the fall, is that correct Wendy?
Young: Yes, we surveyed the teams and it seems that most seem ok with a split or a fall schedule.
Hughes: If we're going to try and front load MD4 than we can include that in the schedule but we just need to know.
Young: Yea, Travis, you may want to wait until the TRU figures out D4.
Hughes: No problem, I have to wait until D1 is done. But we need to determine if we are having Sunday dates and if we are front loading matches in the fall.
Young: I motion we adjourn.


text:
Q: Unit Testing Works in VSCode on Windows but not Linux I'm having trouble debugging Xunit unittests in .NET6 running on Ubuntu 20.04 in VSCode (1.66.2). These run in VisualStudio and VSCode in Windows. I can run (not debug) the tests in Linux from the CLI or the .NET Core Test Explorer extension.
If I try to debug the unittest with the context menu or the little magic command attribute that is placed above the unittest method declaration, I get an error:
Failed to start debugger:
"System.InvalidOperationException: The debugger could not be started
at OmniSharp.DotNetTest.Services.DebugTestService.Handle
(OmniSharp.DotNetTest.Models.DebugTestGetStartInfoRequest request) [0x00050] in <9d87b466e5a04dffb95becc0b4dfd560>:0
at OmniSharp.Endpoint.Exports.RequestHandlerExportHandler`2[TRequest,TResponse].Handle (TRequest request) [0x00000] in <3d93fabea6954f4ba147450b0cf4332a>:0
at OmniSharp.Endpoint.EndpointHandler`2[TRequest,TResponse].GetFirstNotEmptyResponseFromHandlers (OmniSharp.Endpoint.Exports.ExportHandler`2[TRequest,TResponse][] handlers, TRequest request) [0x00022] in <3d93fabea6954f4ba147450b0cf4332a>:0
at OmniSharp.Endpoint.EndpointHandler`2[TRequest,TResponse].HandleRequestForLanguage (System.String language, TRequest request, OmniSharp.Protocol.RequestPacket packet) [0x00163] in <3d93fabea6954f4ba147450b0cf4332a>:0
at OmniSharp.Endpoint.EndpointHandler`2[TRequest,TResponse].Process (OmniSharp.Protocol.RequestPacket packet, OmniSharp.Endpoint.LanguageModel model, Newtonsoft.Json.Linq.JToken requestObject) [0x0024b] in <3d93fabea6954f4ba147450b0cf4332a>:0
at OmniSharp.Stdio.Host.HandleRequest (System.String json, Microsoft.Extensions.Logging.ILogger logger) [0x000f3] in <2584067dfcea42a69c19a025cfbc4799>:0 "

I also see this in the OUTPUT pane:
/usr/share/dotnet/sdk/6.0.202/Microsoft.Common.CurrentVersion.targets(4650,5): error MSB3883: Unexpected exception:  [/home/danielp/Source/Experiments/LibAndTest/Library/Library.csproj]
/usr/share/dotnet/sdk/6.0.202/Microsoft.Common.CurrentVersion.targets(4650,5): error : DirectoryNotFoundException: Could not find a part of the path '/home/danielp/Source/Experiments/LibAndTest/Library/bin/Debug/net6.0/ref/Library.dll'. [/home/danielp/Source/Experiments/LibAndTest/Library/Library.csproj]
/usr/share/dotnet/sdk/6.0.202/Microsoft.Common.CurrentVersion.targets(4650,5): error :    at Interop.ThrowExceptionForIoErrno(ErrorInfo errorInfo, String path, Boolean isDirectory, Func`2 errorRewriter) [/home/danielp/Source/Experiments/LibAndTest/Library/Library.csproj]
/usr/share/dotnet/sdk/6.0.202/Microsoft.Common.CurrentVersion.targets(4650,5): error :    at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String path, OpenFlags flags, Int32 mode) [/home/danielp/Source/Experiments/LibAndTest/Library/Library.csproj]
/usr/share/dotnet/sdk/6.0.202/Microsoft.Common.CurrentVersion.targets(4650,5): error :    at Microsoft.Win32.SafeHandles.SafeFileHandle.Open(String fullPath, FileMode mode, FileAccess access, FileShare share, FileOptions options, Int64 preallocationSize) [/home/danielp/Source/Experiments/LibAndTest/Library/Library.csproj]
/usr/share/dotnet/sdk/6.0.202/Microsoft.Common.CurrentVersion.targets(4650,5): error :    at System.IO.FileSystem.CopyFile(String sourceFullPath, String destFullPath, Boolean overwrite) [/home/danielp/Source/Experiments/LibAndTest/Library/Library.csproj]
/usr/share/dotnet/sdk/6.0.202/Microsoft.Common.CurrentVersion.targets(4650,5): error :    at System.IO.File.Copy(String sourceFileName, String destFileName, Boolean overwrite) [/home/danielp/Source/Experiments/LibAndTest/Library/Library.csproj]
/usr/share/dotnet/sdk/6.0.202/Microsoft.Common.CurrentVersion.targets(4650,5): error :    at Microsoft.CodeAnalysis.BuildTasks.CopyRefAssembly.Copy() [/home/danielp/Source/Experiments/LibAndTest/Library/Library.csproj]
/usr/share/dotnet/sdk/6.0.202/Microsoft.Common.CurrentVersion.targets(4650,5): error :  [/home/danielp/Source/Experiments/LibAndTest/Library/Library.csproj]

What I find interesting here is that it keeps looking for referenced dlls in ...Debug/net6.0/ref/Library.dll' and there is no build output binary placed there much less a folder called ref.
For now, I can debug w/ a console app, but it sure seems strange that this works so well in Windows but not Linux. However, now that I say that out loud: it seems like it shouldn't be that surprising.
Lastly, I did try debugging mstest unittests w/ the same results.

A: I figured it out! But only because I found this other answered question:
Cannot Run or Debug C# tests with CodeLens in VSCode
Because I'm running .NET 6, the Omnisharp extension needed a settings change:

*

*Open your VSCode extensions w/ the icon on the left

*Search for Omnisharp in the text box

*Click the gear icon and choose Extension Settings from the resulting context menu

*Up top in the search bar that is revealed in the settings page, append (w/ a space) modern so that the search bar contains @ext:ms-dotnettools.csharp modern

*You will see a checkbox labeled Omnisharp: Use Modern Net.

*

*Make sure this is checked.

*I had to restart VSCode and allow the extension to do a download

After that it works.

redpajama_set_name: RedPajamaStackExchange


We all know when we are thriving. We have energy. Our to-do list turns into a got-it-done list. The family is happy. When we are thriving, we look forward to life. Sure, we might be tired at the end of the day, and there are hiccups in life, but overall, we know we can handle it. We can tell when we aren't thriving, too. We feel drained. Life loses its luster and vitality. We have the blues. Life is a struggle, even if there doesn't seem to be an external reason for it. We want to thrive, but something is off. What is wrong? For a thing to thrive, it must be treated according to its nature; for a thing to be good for us, it must be used according to its purpose.
Are your cleaning products, personal care products, make-up, and air fresheners working against your body? You can replace them with products that help you thrive!
Let me demonstrate. A tomato plant has a nature. Its nature demands sunlight, water, and good soil. Stick your tomato plant in the closet with no water or sunlight, and you will have a dying or dead tomato plant and no tomatoes. A tomato plant also has a purpose. Its purpose is to produce tomatoes. Now that's pretty simple. We can't use a tomato plant to produce grapes or potatoes. Nor can we eat the leaves for salad. For tomatoes to be a healthy part of our lives, we have to treat them according to their nature and use them for their intended purpose (on tacos).
Every system of our body has a nature and purpose that interacts synergistically with the others. The purpose of our digestive system is to break down food into the proper components and absorb them. We must treat our digestive system according to its nature by feeding it food. That sounds very simple and silly to say, but how many things on the store shelves are what Micheal Pollan calls, "food-like substances"? The internet teems with testimonials of people who have healed damage and disease by removing processed foods. They treated their digestive system according to its nature, nourished it with the proper food and took away those things that damaged it or the rest of the body, and they thrived as a result. Of course, the primary purpose of food is to nourish. Use it for nourishment instead of pleasure, or an anti-depressant, or a companion, and the body thrives.
Our systems work with each other. Make your digestive system sick and everything else suffers. Force your liver to process alcohol or high fructose corn syrup daily, and your fatty liver isn't the only result. The whole body feels worse. Unbalance the delicate hormones of the brain and develop struggles with depression and anxiety. Eat a constant diet of sugar and processed grains and every cell in the body becomes resistant to the insulin produced by the pancreas. Any of these can lead to skin problems, reproductive problems, nervous system problems, brain problems . . . if one system is unhealthy, all the systems are taxed. But food isn't the only thing that can tax systems.
Anything that gains access to our body will either support or damage the various systems. Since our skin interacts with the world before our other organs, anything that can permeate the skin can affect us. What can permeate the skin? A discussion on Stack Exchange's Chemistry site brings up some food for thought. Organic compounds (that's anything containing carbon), lipophilic solvents (solvents that attach to fat molecules), hormones, phenols, nicotine, and military toxins can all enter our bodies through our skin. While many factors affect whether or not something can "soak into" the skin, it is apparent that many things actually do! A diabetic friend of mine has seen her blood sugar reading rise simply by using a sugar scrub on her hands! Another friend is suffering from numbness and pain in her hands due to using an industrial cleaner at work. If it is on our skin, it is likely in our blood.
Chemicals and compounds can also enter the body by being inhaled. The Canadian Centre for Occupational Health and Safety lists inhalation of chemicals, mists, and dusts as a workplace risk to be avoided. Numerous medical sites list inhalation as an effective way for certain drugs to enter the bloodstream and go directly to the brain. If we can smell something, we should assume it is in our bloodstream and has access to our brain! And frankly, indoor air is polluted. The EPA itself lists both cleaning products and air fresheners as common sources of indoor pollution. So does the American Lung Association. These things are not working with the nature of our bodies! They are not helping our systems thrive!
What we put in our mouths matters, because it either works with the nature of our bodies and nourishes us or not. What we put on our skin matters, because it either works with our body, or against it in damaging ways. What we inhale matters, because those substances can enter our bloodstream and either support our systems or break them down.
Are your cleaning products, air fresheners, scented candles, body lotions, shampoos, facial care products, make up . . . everything you inhale and slather on your skin . . . are they working with the nature of your body? Is health the purpose of the chemicals in them? In many cases, the answer is either no, or frighteningly, we don't know! The Toxic Substances Control Act of 1976 grandfathered in 62,000 chemicals used in household products. Another 22,000 have been added to their list, but only 200 of those have been tested, and few of them have been tested very thoroughly. Testing for toxic effects of chemicals is not actually required.
And that's what I'm getting at. There are products that can clean, products that improve the appearance of skin by working with the skin cells, products that can support healthy digestion and bowl function by working with the cells of the stomach, small intestine, and large intestine, not by fighting against them. That's where natural products, infused with Grade-A essential oils can do so much for the health of the body. Grade-A essential oils–and Young Living is the only place to buy them–work with your body just like real, nutritious food works with your body.
Essential oils function beautifully in plants, fighting diseases, keeping away pests and predators, and they provide a way to work with the systems of our body. They work with the nature of our body's systems, supporting their purposes instead of overwriting them. It is the difference between something that kills off disease by killing off healthy cells as well, and something that arms the healthy cells to do the job themselves. Essential oils contain dozens of molecular compounds, and these work to help cells function better. Apply an essential oil to your skin, and it reaches every cell in your body in 20 minutes, supporting every cell.
The respiratory system's nature and purpose is to bring in clean air to the lungs. The lungs' nature and purpose is to exchange oxygen for carbon dioxide. So many things in our homes and towns work against that purpose, either from particulates in the air, or from chemicals that cause burning, coughing, narrowed passageways, and irritation. Take them out and replace them with diffused essential oils that don't burn or cause coughing, that don't narrow airways or irritate them. If the body is expressing irritation, pain, discomfort, or dysfunction, it is not thriving. It is a signal that it is not being treated according to its nature.
How can we say that essential oils are treating our bodies according to their nature? Substances from plants and animals, instead of those synthesized in a lab, are often more bio-available to us. Vitamins found in our food absorb more easily and thoroughly than synthetic vitamins. Natural progesterone and bio-identical progesterone do not carry the risks of stroke and heart disease that synthetic progesterone does. That's working with the nature of the body.
Oils, many of which come from edible plants, are very bio-available to us without detrimental side effects. Essential oils from edible plants such as cinnamon bark, clove, lemon, and rosemary are excellent for cleaning and purifying–but they do not harm us. Oils from plants such as citronella and lemongrass are naturally repellent to many insects, but again, are not harmful to us (lemongrass is edible, too). When something supports a body system so it can work better on its own (like bioidentical progesterone helping the reproductive system do its job), we are treating our systems according to their nature. We will thrive, just like that tomato plant in good soil soaking up sunshine and water.
When we make the choice work with our bodies, we are making the choice to thrive. We are choosing vitality. That choice starts by taking away things that work against us and replacing them with things that let our body do its job. We make the choice to keep harmful things–whether processed food or toxic chemicals–away from ourselves and our homes. Amazingly, when we do this, the body fulfills its purpose so much better. The lungs breathe better. Our digestive system absorbs nutrients better. The brain thinks better! We thrive! Isn't that everyone's goal?


This short online course will equip you with the knowledge of a range of theoretical frameworks and contemporary approaches to assist in analysing issues that may arise in bioethics.
Gain a background in philosophical ethics necessary to engage in advanced analysis of issues in bioethics. This course familiarises students with classical theoretical frameworks such as virtue ethics, Kantian deontology, and utilitarianism that have been influential in the history of Western philosophy.
The unit also examines more contemporary approaches to ethics, such as the capabilities approach, feminist ethics, human rights doctrines, and poststructuralist approaches. Across these different theoretical frameworks, discussions will focus on topics such as cultural relativism, universalism in ethics, difference and power.
Important: This short course is a variant of the unit of study, Introduction to Ethical Reasoning (BETH5101). It enables you to complete the unit without formal university enrolment. You will receive a certificate of completion, however, you will not receive credit points towards a University of Sydney degree.


text:
Home Private Equity News & Analysis Private Equity Deals & Transactions KKR seals debut Brazil investment
KKR seals debut Brazil investment
The firm will invest from its $9bn North America fund to acquire Brazilian data services company Aceco TI.
Chelsea Stevenson
Kohlberg Kravis Roberts will acquire São Paulo-based data services company Aceco TI from General Atlantic for an undisclosed sum, according to a statement.
The transaction marks KKR's debut investment in Brazil. The deal was made in partnership with Aceco chief executive officer Jorge Nitzan, who will hold a minority stake in the company and retain his position. KKR is making the investment from its North America Fund XI, which closed on $9 billion earlier this year.
"With the increased number of internet users, digital information and the use of cloud computing, the demand for data centers has and will continue to increase," Nitzan said in the statement. "[O]ur new partnership with KKR will help fuel further growth across Latin America and beyond. We have evolved as technology has evolved and this is an important next step in the long journey of Aceco's evolution."
KKR declined to comment.
Aceco has built more than 750 data centers in Latin America, including the installation of data and command centers in 12 Brazilian cities hosting the 2014 FIFA World Cup.
While 14 of KKR's portfolio companies have employees and operations based in Brazil, including consumer research firm The Nielsen Company and e-commerce payment provider First Data Corporation, Aceco marks the first Latin America-based company KKR has acquired, according to its website.
Private equity deal activity in Brazil declined in 2013. The 80 private equity transactions worth a combined $4.58 billion in 2012 fell to 55 deals with a total value of $2.78 billion in 2013, according to data from the Emerging Markets Private Equity Association.

redpajama_set_name: RedPajamaCommonCrawl


A lot of women think using a mask once a week is a little too much effort.
Well, did you know that adding a mask into your weekly ritual is the quickest way to give your skin a boost in the most minimal time as not everyone has the time or money to have regular facials. 70% of your skincare results will be obtained from your home care routine. So its extremely important that good habits are formed and consistency is key to long term skin health.
Julie Albert Skincare has put together a beautiful hydrating cream mask full of fruit oils to give your skin that weekly pick-me-up.
A soothing and hydrating mask with ingredients that have been used by Egyptians for hundreds of years to promote beautiful radiant skin. This silky smooth cream mask glides on easily and helps stimulate circulation just below the skins surface to promote healthy cells and collagen. It aids in the reduction of inflammation, evens out the complexion, tightens and tones skin. With a unique blend of calming and antibacterial ingredients as well as Rose Geranium Oil this mask is a must-have for any beauty enthusiast to maintain a healthy complexion.
If you haven't been using a mask then its high time you added one to your regime. Your skin will be noticeably fresh, plumped and radiant.
GREAT FOR: All skin types, normal, dry, dehydrated, combination, ageing and even acne skin.


Thank you to Workamper News! I will be working at Timberlake Campground in WA for the summer. Was looking at the Workamper News site a week or so ago. Heard a ding, looked up, there was this new ad. Read it, picked up the phone and the next day the Employer called back and offered me the job. Have to be there mid-April. How's that for service? Pretty darn good, I'd say. Thanks for your help.


text:
2011-12 Game Previews
Game #22 Preview: Dallas Mavericks at Cleveland Cavaliers
By Conrad Kaczmarek Feb 4, 2012, 4:43pm CST
Share All sharing options for: Game #22 Preview: Dallas Mavericks at Cleveland Cavaliers
After a really blah game in Orlando, the Cavaliers turn right around and head home to host the 2011 World Champion Dallas Mavericks. I know that some of us are appreciative of Dirk Nowitzki and company for beating the Miami Heat in the NBA Finals, but Byron Scott doesn't want to hear it. You're here to root for the Cavs and he said he doesn't want Quicken Loans Arena cheering for the Mavs at all. I'm not sure if the crowd is going to listen.
Song Of The Day: German Moses - Some Guys On Youtube
He's a shooter like Larry Bird.
Tonight's Overview:
Dallas Mavericks (14-10) at Cleveland Cavaliers (8-13)
The schedule in this condensed season is crazy. There is no time for any rests or practices and no time for me to write previews at a reasonable time. The Mavericks got off to a slow start to the season, but have since turned it around and are right in the thick of things in the vastly superior Western Conference. Dirk has gotten off to a slow start this season, but will still be absolute nightmare for the Cavs. If you think Cleveland had a hard time with Ryan Anderson last night, Dirk is going to go bananas.
Kyrie Irving should be able to get back to his normal scoring ways. There's no Dwight Howard lurking in the paint on the Mavericks this year. Tyson Chandler was that guy last season, but he's now living it up with the New York Knicks. Jason Kidd has always been a great defender, but he's gotten pretty old and I'm willing to bet that he can no longer stay in front of someone as fast as Irving. Look for Irving to bounce back and have a big night.
There are a good number of guys on the Mavs that will pose some issues for the Cavaliers defensively. Lamar Odom is the kind of guy that can stretch a defense and make Anderson Varejao stray from the painted area. Basically everyone in the league is a mismatch against Antawn Jamison, so we'll see if he gets the pleasure of guarding Dirk. It seems like Tristan Thompson is going to be out once again. That means more minutes from Samardo Samuels and Semih Erden...gross.
As far as I know, Daniel Gibson and Anthony Parker will be out as well. Ramon Sessions had a pretty nice game last night and these injuries give the Cavs a chance to showcase Razor Ramon even more before they trade him. I also want to see Alonzo Gee dunk on Vince Carter, just because it would be awesome and kind of ironic.
Key Matchup:
Shawn Marion vs. Alonzo Gee
Why is this the key matchup, you ask? Is this because I'm not sure who else to pick? Maybe. Is it because I'm rushing to get this preview done before the game starts? Definitely possible. Those things aside, it's because I think Alonzo Gee has the potential to play the role on a team that Marion played for the Mavs last year. Frequently, Marion was matched up against the other team's best wing scorer and was able to provide a decent amount of offense with some jumpers and slashing to the basket. Whichever of these reasons you choose to believe, that's my key matchup for the night.
Fear The Sword's Fearless Prediction:
I predict that the crowd will ignore Byron Scott's wishes and will indeed cheer Dirk and the Mavs when they are introduced. I also believe that the Cavs will play better than they did last night against the Magic, but it still won't be enough. There is nobody on this roster to keep Dirk in check and he will go off for 30+ points. The Cavs lose by a score of 101-94.


text:
Council Unveils Designs for Toowong and St Lucia Green Bridges
Designs for Brisbane's new green bridges have been unveiled with Brisbane residents invited to have their say on the proposals. Lord Mayor Adrian Schrinner said the new concept designs for the Toowong to West End and St Lucia to West End Green Bridges illustrate how...
Brisbane's 2032 'climate-positive' Olympics commitment sets high bar on delivering sustainable legacy
Brisbane's 2032 Olympics will be the first Games contractually obliged to operate as "climate positive", which is part of a bid to avoid the legacies of huge debts and abandoned stadiums faced by some previous host cities. Flying thousands of...
Brisbane property market update October 2021
Brisbane has experienced a bumper month during October in the residential property market. Prices have really taken off, bucking the national trend, gaining momentum throughout the month. This article will highlight what has been happening and why. Supply remains very...
Thirteen new Brisbane suburbs join the million-dollar-plus club
An average Brisbane house will now set you back more than $1 million across 42 suburbs after a year of record growth saw property prices skyrocket more than $400,000 in some pockets. The city's best performers – Norman Park, Indooroopilly and Camp Hill – saw...


The holiday season has just ended and the best part about it is the amount of time you get to spend with your family. While partying with a lot of people is something you can do any day, however spending quality time with your immediate family is something which most people long for.
To plan such quality time with your family, you can set up family traditions that members of your family follow. Such traditions don't have to be very detailed or long rather small events and practices followed by every family member on festivals such as Christmas Eve should be sufficient enough to give you the much-required joy.
Below we mention top 6 ways in which you can celebrate Christmas with your family and make the most of this festival.
One of the best traditions which you can follow on Christmas Eve is indulging every member of your family in cooking Christmas meal. Give everyone a task to accomplish and have everyone contribute to the meal. Adults can take a bit complex tasks while you can give your children some easy ones. Not only will it give everyone some quality time to spend with one another, but it will also help them realize and see the importance and power of unity.
Another way to spend Christmas is to take out the old Christmas classics and read them along with your family members. Imagine sitting with your family members and reciting them 'A Christmas Carol' - a classic by Charles Dickens. Here is a list of top 30 books you can read during the Christmas time along with your family members.You can also listen to songs and sing along to celebrate Christmas with enthusiasm.
There are a number of foundations which offer volunteering opportunities for people of all ages; hence you can celebrate this Christmas by giving back to the society.For example, there are a number of charitable foundations such as Northwest Harvest etc. which offer opportunities for you to help in any manner you can. And it doesn't have to be only in terms of physical help, you can donate and contribute items which you no longer need or give Christmas presents to children who are in need. There definitely isn't a better way to celebrate Christmas than by helping others, isn't it?
Similar to cooking meals together you can indulge your family members in one more type of family activity which is decorating your home. Distribute responsibilities of decorating various sections of your home amongst each member of your family and make it a point to include children in this task as this is something which they will love and this task will explore and bring out the creative genes within them.
If you are looking to have fun with your family members then one of the best ways is to organize picnics and play games such as 'finders-keepers'. You can hide Christmas presents for your family members in various locations and have clues made. These clues can lead the member of your family to the gift and the process of finding these gifts will bring entertainment and joy. If you are looking for artificial Christmas tree for your home, check out xmastree.express, a company offering some of the beautiful Christmas trees.
One tradition which people are adopting nowadays is feeding animals and neighbors' pet. You can leave these treats in a feeding container, or you can decorate trees with treats which the wildlife around can savor on and enjoy.
So, these are the top 6 ways in which you can celebrate Christmas in a fun way.


text:
package org.openestate.is24.restapi.xml.common;

import javax.annotation.Generated;
import javax.xml.bind.annotation.XmlEnum;
import javax.xml.bind.annotation.XmlType;

/**
 *
Java class for CommercializationType.
 *
 *
The following schema fragment specifies the expected content contained within this class.
 *

 *

 * <simpleType name="CommercializationType">
 *   <restriction base="{http://www.w3.org/2001/XMLSchema}string">
 *     <enumeration value="BUY"/>
 *     <enumeration value="RENT"/>
 *     <enumeration value="LEASE"/>
 *     <enumeration value="LEASEHOLD"/>
 *     <enumeration value="COMPULSORY_AUCTION"/>
 *     <enumeration value="RENT_AND_BUY"/>
 *   </restriction>
 * </simpleType>
 *

 *
 */
@XmlType(name = "CommercializationType")
@XmlEnum
@Generated(value = "com.sun.tools.xjc.Driver", date = "2021-08-07T09:44:49+02:00", comments = "JAXB RI v2.3.0")
public enum CommercializationType {

    /**
     * Kauf
     *
     */
    BUY,

    /**
     * Miete
     *
     */
    RENT,

    /**
     * Pacht
     *
     */
    LEASE,

    /**
     * Erbpacht
     *
     */
    LEASEHOLD,

    /**
     * Zwangsversteigerung
     *
     */
    COMPULSORY_AUCTION,

    /**
     * Miete und Kauf
     *
     */
    RENT_AND_BUY;

    public String value() {
        return name();
    }

    public static CommercializationType fromValue(String v) {
        return valueOf(v);
    }

}

redpajama_set_name: RedPajamaGithub


OsteoBridge™ IDSF is a modular diaphyseal implant used for long term stabilization of segmental bone defects in humerus, femur and tibia of oncology patients. The modular endoprosthesis spacer consists of a spacer(s), that fixates two intramedullary nails and bridges the defect after resection.
The modular OsteoBridge™ IDSF endoprosthesis consists of two semi-circular shells assembled and fixated with eight screws over two intramedullary nails that extend past the osteotomy planes and into a spacer. The intramedullary nails can additionally be interlocked distally. The spacers and the nails are available in different dimensions for flexibility across defect sizes from 40 to 140 mm. The outer spacer diameters are 20 mm (humerus), 25 mm (tibia) and 34 mm (femur).
Spacers are available in lengths of 40 mm, 50 mm, 60 mm and 70 mm. If a longer defect is to be bridged, two or more spacers may to be combined with spacer connectors. Intramedullary nails are available in lengths from 60 mm through 200 mm and in diameters from 7 mm through 20 mm.
High modularity for optimal adaptation to the bone. A force fit between nail and spacer facilitates continuous intra-operative rotation until the screws are tightened down. Subsequently, rotational stability is preserved post-operatively.
For the management of segmental diaphyseal bone loss of either humerus, tibia or femur in oncology patients secondary to radical bone loss and/or resection due to tumors. The intramedullary rods can be fixed with interlocking screw without or with bone cement.


If you know my daughter, you know she's extremely tenacious and determined. Those are euphemisms for being a world-class nag. She was scheduled to get braces on Tuesday and our babysitter was taking her (so I could go to work – bleh!). Kid became fixated on how the babysitter would get her there, relentlessly texting and calling me all day so I could give the babysitter directions. I chose to ignore her. Hubby called me urgently at night class, cuz kid #2 realized he had a homework assignment that required the printer ink we had just run out of. Out of class at 10pm, en route to Target for the ink. Kid still texting, calling and being really freakin' annoying. Just as I got back into the van after getting the (wrong) ink, she texted again. Since I was in a locked mini van in the Target parking lot at 11pm, I started screaming at the phone, "Leave me alone!!!!!!!!!! AAAAAAAAAA!!!!!" Isn't that what you would do? While squeezing the life out of my BlackBerry and screaming my guts out, I inadvertently called my husband.  Knowing that I was at Target in the middle of the night and screaming, he logically concluded that I was being assaulted. I slipped the BB into my pocket and as I pulled out, it rang. Assumed it was the kid, so screamed some more and when I finally took a breath I heard my husband's very soft, very concerned voice saying, "honey, what's going on?" Oops. I don't know which is more mortifying – my husband knowing that I scream at my phone, or knowing that I sit in locked cars in empty parking lots, screaming to myself.


text:
Arthur Christmas (2011)
A recent holiday classic you likely haven't seen, Arthur Christmas uses its premise of the North Pole as a massive spy organization to touch on how commercialization tears people apart. It's a surprisingly smart film with a fascinating dynamic among its family of Santas, with an incredibly funny script full of dry, British wit. And while the animation may already look dated at first glance, Arthur Christmas more than makes up for its looks with truly imaginative art direction and director Sarah Smith's fast-paced set pieces. This is that rare Chirstmas movie that doesn't just surrender to schmaltz; the lessons learned by the characters here are unique, complex, and timeless.
Go to Hulu
Amazon Fire TV, Android, Android TV, Apple TV, Chromecast, iOS, LG TV, Nintendo Switch, Roku, Roku TV, Samsung TV, Xbox
Hulu is an on-demand service that is currently only available on US territories. You can get access to Hulu's on-demand content library for $5.99 a month with commercials, and $11.99 without. There's also an option to pay for an annual subscription starting at $71.88.
Go to Amazon Prime
Amazon Fire TV, Android, Apple TV, Changhong, Chromecast, Haier, Hisense, iOS, LG, Nvidia SHIELD, Panasonic, Philips, PlayStation, Roku, Samsung, Sharp, Skyworth, Sony, TiVo, Vestel, Vizio, Wii, Xbox
Amazon's premium membership program includes access to the streaming platform Prime Video, more commonly referred to in this publication as simply "Amazon Prime."
If you live in the US, the UK or Germany, you have the option between paying a yearly or monthly subscription fee for an Amazon Prime account, which comes with a bulk of other retail and delivery services. People in other countries where Amazon is not operating may be able to access it from a browser only.
In addition to on-demand streaming, you can rent or purchase TV shows that are not on the service for an additional fee. As well as Amazon devices, the app is available on any mobile device, including iOS, Android, or Windows. The app also works on Apple and Windows computers, on a wide range of TVs, mobile devices, and games consoles.
Go to Netflix
Amazon Fire TV, Android, Android TV, Apple TV, Changhong, Chromecast, Haier, Hisense, iOS, LG TV, Nvidia SHIELD, Panasonic, Philips, PlayStation, Roku, Roku TV, Samsung, Samsung TV, Sharp, Skyworth, Sony, TiVo, Vestel, Vizio, Wii, Xbox
Netflix is an ad-free streaming platform that operates on a monthly, or annual, subscription.
There are three pricing plans – Basic, Standard and Premium – and the one you choose will determine the number of devices that you can simultaneously use to watch Netflix, in case you want to share the account with someone else.
There are three plans, though pricing differs from region to region. First up is the Basic plan, which allows you to watch on one device at a time. Upgrading to the Standard plan allows you to watch shows and movies, and download them for offline viewing, on up to 2 different devices at a time. The top-tier Premium plan lets you watch and download on up to 4 different devices, and comes with the options to watch videos in HD and Ultra HD.
Once subscribed, you can watch movies and TV shows directly on your browser via Netflix.com.
You also have the option of downloading the app on pretty much any mobile device, including iOS, Android, or Windows. The app also works on computers using Windows XP or later and Macs with OS X Tiger or later.
Go to Vudu
Amazon Fire TV, Android, Chromecast, iOS, LG Smart TV, Playsation, Roku, Samsung Smart TV, TiVo, Vizio, Xbox, Xfinity Flex
Vudu is an on-demand streaming service that allows users to rent or purchase more than 200,000 new releases. Founded in 2007, it's one of the first companies to offer digital films in HD. Vudu's main strength is its ease of access and jam-packed catalog of movies and TV shows, but it also boasts free content, which they run on ads. In 2020, media and ticketing firm Fandango acquired Vudu and merged both companies' streamers into one. They decided to keep the Vudu name because of its vast and loyal customer base.


On the one hand, you'd think they'd have something nicer. On the other, I appreciate a company being frugal.
We have a hundred year old voice-mail system at work. The one feature I really, really want in a new system is for it to automatically delete hang-ups. I get tons of calls everyday from unknown numbers. I suspect they are sales calls, so I don't answer. The calls go to voice-mail. They stay on the line long enough so that I get to hear them typing (or other background conversations when they are in a call center), but then hang-up without really leaving a message.
I want the new system to zap those without me ever having to check them. Do any voice-mail systems do that today?


Overwork is the new normal. Rest is something to do when the important things are done-but they are never done. Looking at different forms of rest, from sleep to vacation, Silicon Valley futurist and business consultant Alex Soojung-Kim Pang dispels the myth that the harder we work the better the outcome. He combines rigorous scientific research with a rich array of examples of writers, painters, and thinkers---from Darwin to Stephen King---to challenge our tendency to see work and relaxation as antithetical. "Deliberate rest," as Pang calls it, is the true key to productivity, and will give us more energy, sharper ideas, and a better life. Rest offers a roadmap to rediscovering the importance of rest in our lives, and a convincing argument that we need to relax more if we actually want to get more done.


Check out our beautiful Mobel Solid Oak Furniture Range. Mobel oak is arguably one of the country's most desirable solid oak furniture ranges. The furniture's clean lines and contemporary style make it an ideal complement to all home décors. Each piece is carefully finished with a resilient lacquer that showcases the woods rich grain and truly gives it a stunning glow. The range is enhanced with brushed steel handles which truly breathes a touch of class throughout your home.
The Mobel Oak furniture range has a variety of different items that cater throughout the home, from dining room tables and chairs, wine racks and storage units to quality home office computer desks – this wonderful collection has it all.
Every piece is fully assembled and crafted from a solid oak without any veneers at all. The solid oak is sourced from an environmentally plantation so that you can comfortably purchase an outstanding quality and stylish set of furniture in good conscience.
Don't miss out on this beautiful range, browse through our selection today and start transforming your house into a home. All of our items, delivered directly to your door without any additional charges whatsoever.


I know, I'm totally dressed like an oxymoron but hey, that's what fashion is all about; being different. It's totally normal in LA to dress like you're ready for not one seasons, but two. In this case, I'm totally fine wearing a sweater top along with the some over the knee boots. It works for me. I get pretty tired of waiting around for the weather to catch up to the season so I take matters into my own hands and kind of go halfway. I really liked the way this outfit turned out because of the chic vibe it gave off. I hardly wear pants so I was pleased to know that these still fit like a glove. This sweater top had been in my closet for some time so it was due to get taken out. I wanted to leave some skin showing which is why I opted for the red bralette. Of course I had to keep the skin baring to a minimum which is why I wore the jeans and over the knee boots. Hooray for the perfect weather for this outfit!
I love this park! Haven't been there in a while!


The UHV Transfer Systems line of of patented Precision Magnetic Manipulator (PMM) devices are used in high and ultra-high vacuum and controlled environment applications such as thin film process tools, analytical systems and surface science research tools. PMMs are precise, robust and low maintenance. Magnetic transporters with linear or linear/rotary motions are used for applications such as sample introduction, moving substrates or sample manipulation. Rotary feedthroughs can actuate shutters, rotate a sample carrier or drive planetary stages. PMMs can be incorporated into loadlock systems designed for wafer or sample introduction, positioning and removal.


text:
42.3℉New York
Carmon Report
One Month Behind, DePaul Starts Its Men's Basketball Season
After Ray Salnave graduated from Monmouth University in the spring, he enrolled at DePaul as a graduate transfer with visions of stepping up from the Metro Atlantic Athletic Conference to the Big East. He averaged 14.5 points, 4.5 rebounds and 3.2 assists per game last season, and wanted to prove himself on a bigger stage.
But after Salnave, a 6-foot-3 guard from Elmont, N.Y., and a few of his DePaul teammates contracted the coronavirus this summer and fall, the team has yet to play. Other teams are about a month into the season.
The last time Salnave played was on March 6, in Monmouth's regular-season finale, against Siena, before the M.A.A.C. tournament and then the N.C.A.A. tournament were canceled because of the pandemic. The last time DePaul played was on March 11, in the first round of the Big East tournament at Madison Square Garden.
Because DePaul postponed or canceled 11 games to start its season, Salnave has spent a lot of time alone in his dorm room in Chicago studying, playing Fortnite and watching Netflix. He has also looked on with a wistful eye as two of his teammates from Benjamin N. Cardozo High School in Bayside, Queens, Tareq Coburn and Marcus Hammond, have played multiple games at Hofstra and Niagara.
DePaul will be the final men's basketball program in one of the Power 6 conferences — the Big Ten, the Big East, the Big 12, the Atlantic Coast, the Southeastern and the Pac-12 — to start the 2020-21 season when it opens at home on Wednesday night against Western Illinois, without fans in attendance.
"He's losing his mind because he isn't being allowed to do what he loves," Ron Naclerio, Salnave's high school coach, said.
The coach figured "this is it" for Salnave, unless he is able to use the extra year next season that the N.C.A.A. has granted all winter sports athletes because of the pandemic.
Salnave, who turns 23 next month, was more measured in his comments than his former coach.
"It's the world we live in," he said in a recent phone interview. "It's expected that these shutdowns are going to happen. It may not happen where we want it to, where we haven't had a chance to play a game yet, but it was bound to happen. You can try and avoid it as much as you want, you can do everything right, but some way, somehow, it will spread."
DePaul's situation is extreme, but it's not the only program to start playing nearly a month after the season began on Nov. 25. Temple played its first game on Saturday and Albany did so on Sunday. Teams this season must play at least 13 games against other Division I opponents to be eligible for the N.C.A.A. tournament.
No. 1 Gonzaga and No. 2 Baylor had also paused their seasons because of positive coronavirus tests for individuals on or around their teams. After canceling five games, including one against Baylor, Gonzaga returned to the court on Saturday and beat Iowa, a top-five team, 99-88. Baylor destroyed Kansas State, 100-69, on Saturday in its Big 12 opener and first game since Dec. 9.
Houston Coach Kelvin Sampson, whose team has had three games postponed or canceled, recently said that every player on his team has had the virus, and that he has held practices with only six players.
DePaul's coach, Dave Leitao, said in a phone interview that his program had been dealing with positive coronavirus tests since July. It announced its first virus-related pause on Nov. 19. On Dec. 6, DePaul's game against Iowa State was canceled an hour before its start time.
Asked on a videoconference call on Tuesday how it felt to go through so many stops and starts, Leitao, a fan of analogies, said: "If you put a tuxedo on and you show up at church and there's no bride, how do you feel? Or how does the bride feel when the groom doesn't show up?"
On Dec. 8, DePaul announced another pause, and on Dec. 14, the university announced the pause would continue.
The Blue Demons were set to finally begin play against Connecticut on Wednesday, but the Huskies announced they would not play the game after the state's health department advised UConn not to play an opponent that was "still within the 14-day period from its last positive test results." DePaul rescheduled Western Illinois instead.
Duke's coach, Mike Krzyzewski, recently said that the N.C.A.A. should "reassess" playing during the pandemic. David Worlock, an N.C.A.A. spokesman, had no comment on Krzyzewski's remarks.
"I don't think it feels right to anybody," Krzyzewski said after the Blue Devils lost to Illinois on Dec. 8. "I mean everyone is concerned."
He added: "You have 2,000 deaths a day. You have 200,000 cases. People are saying the next six weeks are going be the worst. To me, it's already pretty bad. On the other side of it, there are these vaccines that are coming out."
Leitao, DePaul's coach, said the uncertainty and pauses had been difficult on his players' mental health.
"The fact that they're waiting around, waiting around, getting ready to play and then we don't play and practice just for nongames and you watch your peers play and you're not playing, all of that adds up onto the anxiety of it all," he said.
Leitao said the situation added to the challenges he faced as a coach because he was not able to spend time with his players and mentor them while they were in quarantine. Seton Hall Coach Kevin Willard, who had the coronavirus and whose team had to quarantine before the season began, referred to that period as "house arrest."
"Some of the things that they're going through as a young person," Leitao said, "or young people in general, particularly athletes who are onstage as college basketball players are, the No. 1 thing that they rely on is their pride, and sometimes they're too prideful to even admit or realize that you probably have to talk about something that is bothering you."
Only a handful of DePaul players had even been cleared to work out over the weekend. The team finally returned to practice on Monday. In a video conference call on Tuesday, Leitao estimated that of the team's 30-plus practices this preseason, there have been "half a dozen with everybody in the gym."
Because about half the roster consists of new players, Leitao said it had been a challenge to build the team's chemistry and identity.
"We're probably not going to be at our best in terms of all of our expected execution measures," Leitao said about Wednesday's opener. But, he added, "we'll be in full win mode psychologically when the ball is thrown up to try to get our first win."
Despite the disruptions, the university's first-year athletic director, DeWayne Peevy, who arrived from Kentucky, where he was the deputy athletic director, said DePaul never considered canceling the season.
"That never came up, it was never discussed, it was never a possibility," Peevy said.
DePaul isn't alone in the Big East. Eight of the 11 teams in the league have paused because of positive coronavirus tests, while a ninth, Georgetown, had its coach, Patrick Ewing, hospitalized in May with the virus.
The Big East commissioner, Val Ackerman, told NJ.com that the league planned to continue having teams visit one another's venues, had "contingency plans" for a bubble and could potentially "pause altogether" if the coronavirus situation worsened significantly.
At DePaul, Salnave and his teammates just want to get on the court.
"It's just like the same thing in March, the frustration is there," Salnave said. "We keep having to shut down, but at the same time we keep seeing teams play, so in the long run it might be better because we get all these shutdowns early and then we play so much when we get out that some teams that haven't been shutting down, God forbid, I don't wish it on anybody, but teams might start shutting down, too. So it's going to happen, regardless."
Posted in SportTagged Coll, college basketball, DePaul
The Rays Got 'Verlandered.' Join the Club.
Arsenal could wait a MONTH to appoint new boss with Arteta top candidate to replace axed Emery – The Sun
Man Utd, Arsenal, Chelsea and Man City have doubts over De Ligt transfer because of Mino Raiola
Adam Brody Reveals Whether He and Wife Leighton Meester Will Watch the Gossip Girl Reboot
Chrissy Teigen Reveals The Beauty Product That Changed Her Life
Mirzapur: Is Pankaj Tripathi leaving Mirzapur?
Joe Exotic has limo waiting near prison in...
Manchester Arena inquiry hears harrowing first 999 call after attack
Biden's CDC pick projects 500,000 COVID-19 deaths in US by mid-February
Ben Affleck and Ana de Armas Split After...
Aaliyah's Estate to Release 'Legacy' Projects While Working...
This Bestselling Daily Supplement Helps With Digestion for a Flatter Tummy
The Royal Family Spends a Whopping $30 Million Each Year On the 1 Thing We Never Think About
Copyright © 2021 Carmon Report. All rights reserved.