{
    "GrpcSettings": {
        "Port": 8888,
        "HostName": "127.0.0.1",
        "UseTls": false,
        "CaSelfSigned": false,
        "CaCert": "",
        "UseClientCert": false,
        "ClientCertSelfSigned": false,
        "ClientCert": "",
        "ClientCertKey": ""
    },
	"WebAppCommSettings": {
		"EnableHttp": false,
		"HttpPort": 8081,
		"EnableHttps": true,
		"HttpsPort" : 4043,
		"ServerCert" : "-----BEGIN CERTIFICATE-----MIIDeDCCAmACFHrdd3pBwCG/UK4FdvSKxIFbOxYMMA0GCSqGSIb3DQEBCwUAMGwxCzAJBgNVBAYTAkNBMRAwDgYDVQQIDAdBbGJlcnRhMRAwDgYDVQQHDAdDYWxnYXJ5MRUwEwYDVQQKDAxSZXZlcml0eSBJbmMxIjAgBgkqhkiG9w0BCQEWE3N1cHBvcnRAcmV2ZXJpdHkuaW8wHhcNMjUwNDA0MTYwNDE1WhcNMzUwNDAyMTYwNDE1WjCBhDELMAkGA1UEBhMCQ0ExEDAOBgNVBAgMB0FsYmVydGExEDAOBgNVBAcMB0NhbGdhcnkxFTATBgNVBAoMDFJldmVyaXR5IEluYzEWMBQGA1UEAwwNd2ViYXBwMDEudGVzdDEiMCAGCSqGSIb3DQEJARYTc3VwcG9ydEByZXZlcml0eS5pbzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALCfxk2sfauZYJ9cv7qvulFfqJhMta6obyCR4z4nFPLRQlkTaQbLML7oQy4CdeF3PGkp0KQ5vd6OdjdurlJjr6c8F27hs10IxKhfbFV0hgU6DdHnlPUR1XoabKd8o+GuFPEeVlp+4Wckrpx1OiaWU+HvhnryI5rkKIZOlvXz1vN+iV7qpkEFsSNDp8L+6uAPwDW5eaoO4K4qXD1i060dHX3EW2cwcNckduTfcQ0K1NbNzvzZfs1nGCguIzGNB692HmrMz/fz8B7kHqzsOPGqbYTYRa9msYA25wpKrbaeIdz50FWzdM3qTkKc+H5sFdTUUiH0Vb2jRTcVJ0/NbCVSXoUCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEARPwMh8vMPGJiq5n250terPPisfmQOW6HeA9TFoRqZAowv+g7FeL0r3n2wQNGoSlASeL6pPCCs3jwujXJDXeRVCs7LwTbbzEhuySzUZebpvYu9w4hK362HV78D2c5AytUPoLUs77Z9TRRZ0JFpqPbrf7sxt380uA1V6+ZStmZcVc6Rth0wg/FbnSpWdWR7b0Nz40O4qfcVkYMi8/XKA2wX+54X+MDpSCseTpAUjYdp0ntIbbNIQZ+i5bG0SMwzj3gCb1H4pBWvmY3+4LEow+dyjmp5qsCNAtqEza6abAzKO4p4BU8iX3wC1yg7RgXLJdpsg4xh3/MGQggiYDvIY3+1Q==-----END CERTIFICATE-----",
		"ServerCertKey": "-----BEGIN PRIVATE KEY-----MIIEvAIBADANBgkqhkiG9w0BAQEFAASCBKYwggSiAgEAAoIBAQCwn8ZNrH2rmWCfXL+6r7pRX6iYTLWuqG8gkeM+JxTy0UJZE2kGyzC+6EMuAnXhdzxpKdCkOb3ejnY3bq5SY6+nPBdu4bNdCMSoX2xVdIYFOg3R55T1EdV6GmynfKPhrhTxHlZafuFnJK6cdTomllPh74Z68iOa5CiGTpb189bzfole6qZBBbEjQ6fC/urgD8A1uXmqDuCuKlw9YtOtHR19xFtnMHDXJHbk33ENCtTWzc782X7NZxgoLiMxjQevdh5qzM/38/Ae5B6s7Djxqm2E2EWvZrGANucKSq22niHc+dBVs3TN6k5CnPh+bBXU1FIh9FW9o0U3FSdPzWwlUl6FAgMBAAECggEANCbJL/ApnzyHiiahuibfFd3v8yBbWPoE7hIFjjmN9vCQ7apMjaP7fbMo+vHhCrThUo/1OjiOdqOMBmwY7tzeZbvZk3TzOBo5rxmV7FmepPZyVDNUCVS9uvMIeB/WZ/G130g86TWjqofrQuleRTyIAiNuiujqWHbb/GRCMNdR9c0+fXkQaVVzBVPtyyNoLEee6R4DHMggbdaBzcrmP9xy3CUbheddUhQly4bjBS23en4njt23XQ1Y5VfHhfFMHjEu4hRVpZVCVyI7UL5cXAkAN9WMJquE+bFXfbk87KxQx7hUHbc6sQ0elqBn0jhm9/hbGBu45amLCkVxPSB6O1/+lQKBgQDYIhHVBBQpO8Y1HQp3JsoTO3sYYK3ivDeUVtzV9Ba0TOliXeZAi1Dh3YW64AHANgqs7TQTb99tY5iBUQDbH2HR5geKe1P5ipyNKmmYDmXbHQu/KEpu6rxEeCJ3Z51K0JewL3koCF1WzY2w68etlyUwos6VZ1rVN63E9cHKJE8gGwKBgQDRNBGPLc+emG61dI3Xb+D4yOmktLEUTZaoJW6/JsC1nzAluYTHOSrAaW/FVfhqjKiYLAT1Us4IyuYv79sxG3IlgIIEcIIQ5nqTGP9rQ6Ny8sn48e2UIF6B09t5Q2KBgd8Ghgr8jwxovje993kQxvXNBYGufFMXTDhOwGrdoVyl3wKBgF4tclG8xkA1YKfSMLY8u77nozq7Hen3k8xakT3Vb3M/NE79lZA4ZJUW3ufQJlMn+Tzi21dA3z2eMVzf/Bx/LzO0JUMNfEj3QkIs4fg1BeMVZAH2v4BXXpQDORmIl7x66i4GcaelBW8GgKBADTEx9C2eM6BcefMAoQJ7B+daLPRTAoGADrGEhjTmfzIfnHkKOVZvS6n41wul4FIuwbKXW6+iG1+J5yxnigKW4RrGsep+3yTv9ngpBP4C4JU3o6hKEeHmm4GyIBOy3vMBKvG3htYiVcF9tBFx6VR4rs+te4/jDEuN2YxymxiE+5pYmewWwbnnq7W2TQYIY/uDfOyA1P4vXqsCgYBJNzSOiM54TZlhFF7wjkLXBA+3XiQW5BEGZpjoDVOz/nkB3Fu5CNZUXhtXfiaI6z5y6PgbylFg/qgZ5vDlbcjrFkcNC++b1UTsTO6N5PMbGIY+391UdWac/rnYfStnHXGNWKomwkyY/6Rac1VNowEvaLUF2vZyjom1pkojYIu+nQ==-----END PRIVATE KEY-----"
	},
    "AuthSettings": {
		"EnableLocalAccounts": true,
		"AllowSignUp" : true, 
		"CreateLocalUsers" : false,
        "AllowedUsers": [
            {
                "UserName": "admin@reverity.io",
				"PhoneNumber": "14038305050",
				"UserGroupName": "admin",
				"InitialPassword" : ""
            },
            {
                "UserName": "op01@reverity.io",
				"PhoneNumber": "",
				"UserGroupName": "operator01",
				"InitialPassword" : ""
            },
            {
                "UserName": "op02@reverity.io",
                "UserGroupName": "operator02",
				"PhoneNumber": "",
				"InitialPassword" : ""
            },
			{
                "UserName": "op03@reverity.io",
                "UserGroupName": "operator03",
				"PhoneNumber": "",
				"InitialPassword" : ""
            }
        ],
		"UserGroups": [
			{
				"GroupName": "default",
				"CanRead" : true,
				"CanWrite": false,
				"IsAdmin": false,
				"IsDefaultGroup" : true,
				"AllowAllApps" : false,
				"ExcludedAppNames": [ "DL01", "GF01", "GF02" ],
				"AppSpecificSettings" : 
				[			
					{ }
				]				
			},
			{
				"GroupName": "admin",
				"CanRead" : true,
				"CanWrite": true,
				"IsAdmin": true,
				"IsDefaultGroup" : false,
				"AllowAllApps" : true,
				"ExcludedAppNames": [],
				"AppSpecificSettings" : 
				[
					{
						"AppName" : "PL01",
						"ExcludedTagsHandles" : [ ], 
						"TablesHandles" : [ "plungerCycleHistory" ]
					},
					{
						"AppName" : "GF01",
						"ExcludedTagsHandles" : [ ], 
						"TablesHandles" : [ "gfMnHistory", "gfHrHistory", "gfDyHistory", "gfConfigChanges" ]
					},
					{
						"AppName" : "GF02",
						"ExcludedTagsHandles" : [ ], 
						"TablesHandles" : [ "gfMnHistory", "gfHrHistory", "gfDyHistory", "gfConfigChanges" ]
					}
				]
			},
			{
				"GroupName": "operator01",
				"CanRead" : true,
				"CanWrite": false,
				"IsAdmin": false,
				"IsDefaultGroup" : false,
				"AllowAllApps" : false,
				"ExcludedAppNames": [ "DL01", "PL01" ],
				"AppSpecificSettings" : 
				[
					{
						"AppName" : "PL01",
						"ExcludedTagsHandles" : [ "pl_Protection", "appInfoIncludeLicense", "pl_Config", "pl_Control" ], 
						"TablesHandles" : [  ]
					},
					{
						"AppName" : "GF01",
						"ExcludedTagsHandles" : [ "gfGasComp_Read", "gfContract_Read", "gfFlowCalc_Read", "gfControl_Read", "appInfoIncludeLicense", "appControl" ], 
						"TablesHandles" : [ "gfHrHistory", "gfDyHistory" ]
					},
					{
						"AppName" : "GF02",
						"ExcludedTagsHandles" : [ "gfGasComp_Read", "gfContract_Read", "gfFlowCalc_Read", "gfControl_Read", "appInfoIncludeLicense", "appControl" ], 
						"TablesHandles" : [ "gfHrHistory", "gfDyHistory" ]
					}
				]
			},
			{
				"GroupName": "operator02",
				"CanRead" : true,
				"CanWrite": true,
				"IsAdmin": false,
				"IsDefaultGroup" : false,
				"AllowAllApps" : false,
				"ExcludedAppNames": [ "DL01" ],
				"AppSpecificSettings" : 
				[
					{
						"AppName" : "PL01",
						"ExcludedTagsHandles" : [ "pl_Protection" ], 
						"TablesHandles" : [ "plungerCycleHistory" ]
					},
					{
						"AppName" : "GF01",
						"ExcludedTagsHandles" : [  ], 
						"TablesHandles" : [ "gfHrHistory", "gfDyHistory" ]
					},
					{
						"AppName" : "GF02",
						"ExcludedTagsHandles" : [ ], 
						"TablesHandles" : [ "gfHrHistory", "gfDyHistory" ]
					}
				]
			},
{
				"GroupName": "operator03",
				"CanRead" : true,
				"CanWrite": true,
				"IsAdmin": false,
				"IsDefaultGroup" : false,
				"AllowAllApps" : false,
				"ExcludedAppNames": [ "GF01", "GF02", "DL01" ],
				"AppSpecificSettings" : 
				[
					{
						"AppName" : "PL01",
						"ExcludedTagsHandles" : [ ], 
						"TablesHandles" : [ "plungerCycleHistory" ]
					}
				]
			}			
		],
		"MicrosoftAzureEntra" : {
			"Enable": false,
			"TenantId" : "",
			"ClientId" : "",
			"Domain" : "",
			"Instance" : "",
			"ClientSecret" : ""
		}
    },
	"AppSettings" : {
		"IncludeAllApps": false,
		"ExcludeAppNames": [ ]	
	},
	"TableSettings" : 
	[
		{
			"TableHandle" : "gfMnHistory",
			"TableName" : "gfMnHistory",
			"IncludeAllColumns" : false,
			"IncludedColumns" : [
			  "startTsUtc", "endTsUtc", "flowTime", "flowVol" ]
		},
		{
			"TableHandle" : "gfHrHistory",
			"TableName" : "gfHrHistory",
			"IncludeAllColumns" : false,
			"IncludedColumns" : [
			  "startTsUtc", "endTsUtc", "flowTime", "flowVol"  ]
		},
		{
			"TableHandle" : "gfDyHistory",
			"TableName" : "gfDyHistory",
			"IncludeAllColumns" : false,
			"IncludedColumns" : [
			  "startTsUtc", "endTsUtc", "flowTime", "flowVol"  ]
		},
		{
			"TableHandle" : "gfConfigChanges",
			"TableName" : "gfConfigChanges",
			"IncludeAllColumns" : false,
			"IncludedColumns" : [
			  "tsUtc", "parameterName", "oldValue", "oldValueDesc", "newValue", "newValueDesc" ]
		},
		{
			"TableHandle" : "plungerCycleHistory",
			"TableName" : "plungerCycleHistory",
			"IncludeAllColumns" : false,
			"IncludedColumns" : [
			  "tsUtc", "arrivalTypeDesc", "arrivalTime", "afterFlowTime" ]
		}
		
	],
	"ExcludedTags" :
	[
			{
			"ExcludedTagsHandle" : "appControl",
			"ExcludedTags_Read" : [
			"rstAppCntrs"
			],
			"ExcludedTags_Write" : [  ]
		},
		{
			"ExcludedTagsHandle" : "appInfoIncludeLicense",
			"ExcludedTags_Read" : [
			"execCount","execTimeMax","execTimeMin","execTimeAvg", "callbackTimeMax","callbackTimeAvg","configVersionMajor","configVersionMinor",
			"appVersionMajor", "appVersionMinor","hardwareId", "mqttAliasPrefix", "deviceTimeUtc"
			],
			"ExcludedTags_Write" : [  ]
		},
		{
			"ExcludedTagsHandle" : "gfGasComp_Read",
			"ExcludedTags_Read" : [
			"fractionMethane","fractionNitrogen","fractionCarbonDi","fractionEthane","fractionPropane","fractionWater","fractionH2s","fractionHydrogen","fractionCarbonMo","fractionOxygen","fractionIbutane","fractionNbutane","fractionIpentane","fractionNpentane","fractionNhexane","fractionNheptane","fractionNoctane","fractionNnonane","fractionNdecane","fractionHelium","fractionArgon" 
			],
			"ExcludedTags_Write" : [  ]
		},
		{
			"ExcludedTagsHandle" : "gfContract_Read",
			"ExcludedTags_Read" : [
			"meterName","contractHour","contractHourOffset","wetGasFactor","inputWeighing","baseTemp","basePressure"
			],
			"ExcludedTags_Write" : [ ]
		},
		{
			"ExcludedTagsHandle" : "gfFlowCalc_Read",
			"ExcludedTags_Read" : [
			"opMode","flowCalcAlgo","compressCalcAlgo","orificeMaterial","orificeRefTemp","orificeDiameter","pipeMaterial","pipeRefTemp","pipeDiameter","isentropicExponent","viscosity","aga7MFactor"
			],
			"ExcludedTags_Write" : [ ]
		},
		{
			"ExcludedTagsHandle" : "gfControl_Read",
			"ExcludedTags_Read" : ["freezeInputs","batchControl","endContractDy","dayUserIdPreset","setDayUserId","batchUserIdPreset","setBatchUserId","assetIdPreset","setAssetId","clearDb"],
			"ExcludedTags_Write" : [ ]
		},
		{
			"ExcludedTagsHandle" : "pl_Protection",
			"ExcludedTags_Read" : ["enHighEnergyProtect","highEnergyLim","enLoLnPrProtect","loLnPrLim","enHiLnPrProtect","hiLnPrLim","enVeryEarlyProtect","veryEarlyTime","veryEarlyLim","enVeryEarlyShutIn","enNoArrivalProtect","noArrivalLim","enUserProtection","userProtectionTg"],
			"ExcludedTags_Write" : [ ]
		},
		{
			"ExcludedTagsHandle" : "pl_Config",
			"ExcludedTags_Read" : ["enPlungerControl","plungerExists","arrivalCalcType","earlyArrivalTime","lateArrivalTime","maxArrivalTime","bmpSprngDpth","normArrVelocity","earlyVelocityMult","lateVelocityMult","maxVelocityMult","enOptimization","initialState","enRecvMode","recvModeCount"],
			"ExcludedTags_Write" : [ ]
		},
		{
			"ExcludedTagsHandle" : "pl_Control",
			"ExcludedTags_Read" : ["enManualOverride","manualPosition","pauseControl","advAfterFlow","advAfterShutIn","exitProtection","rstArrCounts","rstOptimization","rstHistory","setPlungerTravel","plungerTravelPreset","advWaitPlunger" ],
			"ExcludedTags_Write" : [ ]
		}
	]
}