2024.04.25 08:33 [3077941] invoke 3N7qUU95rkSXpo8jnwhkkbbRiroQeiLR4qx > 3MsqKJ6o1ABE37676cHHBxJRs6huYTt72ch appendBlock() 2024.04.25 08:33 [3077941] invoke 3N7qUU95rkSXpo8jnwhkkbbRiroQeiLR4qx > 3MsqKJ6o1ABE37676cHHBxJRs6huYTt72ch appendBlock() 2024.04.25 08:33 [3077941] invoke 3N7qUU95rkSXpo8jnwhkkbbRiroQeiLR4qx > 3MsqKJ6o1ABE37676cHHBxJRs6huYTt72ch appendBlock() 2024.04.25 08:33 [3077941] invoke 3N7qUU95rkSXpo8jnwhkkbbRiroQeiLR4qx > 3MsqKJ6o1ABE37676cHHBxJRs6huYTt72ch appendBlock() 2024.04.25 08:33 [3077941] invoke 3N7qUU95rkSXpo8jnwhkkbbRiroQeiLR4qx > 3MsqKJ6o1ABE37676cHHBxJRs6huYTt72ch appendBlock() 2024.04.25 08:33 [3077941] invoke 3N7qUU95rkSXpo8jnwhkkbbRiroQeiLR4qx > 3MsqKJ6o1ABE37676cHHBxJRs6huYTt72ch appendBlock() 2024.04.25 08:33 [3077941] invoke 3N7qUU95rkSXpo8jnwhkkbbRiroQeiLR4qx > 3MsqKJ6o1ABE37676cHHBxJRs6huYTt72ch appendBlock() 2024.04.25 08:33 [3077941] invoke 3N7qUU95rkSXpo8jnwhkkbbRiroQeiLR4qx > 3MsqKJ6o1ABE37676cHHBxJRs6huYTt72ch appendBlock() 2024.04.25 08:33 [3077941] invoke 3MuhGCajV9HXunkyuQpwXvHTjTLaMy93g9Y > 3N4NS7d4Jo9a6F14LiFUKKYVdUkkf2eP4Zx finalizeCurrentPrice() 2024.04.25 08:33 [3077941] invoke 3N7qUU95rkSXpo8jnwhkkbbRiroQeiLR4qx > 3MsqKJ6o1ABE37676cHHBxJRs6huYTt72ch appendBlock() 2024.04.25 08:33 [3077941] invoke 3N7qUU95rkSXpo8jnwhkkbbRiroQeiLR4qx > 3MsqKJ6o1ABE37676cHHBxJRs6huYTt72ch appendBlock() 2024.04.25 08:33 [3077941] invoke 3N7qUU95rkSXpo8jnwhkkbbRiroQeiLR4qx > 3MsqKJ6o1ABE37676cHHBxJRs6huYTt72ch extendMainChain() 2024.04.25 08:31 [3077940] fees GENERATOR > 3MvbutkV3xapQVUcGBGWCongwfdH8LKTm8w 0.17100000 Waves 2024.04.25 08:31 [3077940] reward 3MvbutkV3xapQVUcGBGWCongwfdH8LKTm8w > 3N13KQpdY3UU7JkWUBD9kN7t7xuUgeyYMTT 2.00000000 Waves 2024.04.25 08:31 [3077940] reward 3MvbutkV3xapQVUcGBGWCongwfdH8LKTm8w > 3Myb6G8DkdBb8YcZzhrky65HrmiNuac3kvS 2.00000000 Waves 2024.04.25 08:31 [3077940] reward GENERATOR > 3MvbutkV3xapQVUcGBGWCongwfdH8LKTm8w 6.00000000 Waves 2024.04.25 08:31 [3077940] invoke 3N7qUU95rkSXpo8jnwhkkbbRiroQeiLR4qx > 3MsqKJ6o1ABE37676cHHBxJRs6huYTt72ch appendBlock() 2024.04.25 08:31 [3077940] invoke 3N7qUU95rkSXpo8jnwhkkbbRiroQeiLR4qx > 3MsqKJ6o1ABE37676cHHBxJRs6huYTt72ch extendMainChain() 2024.04.25 08:31 [3077940] invoke 3MuhGCajV9HXunkyuQpwXvHTjTLaMy93g9Y > 3N4NS7d4Jo9a6F14LiFUKKYVdUkkf2eP4Zx finalizeCurrentPrice() 2024.04.25 08:31 [3077939] fees GENERATOR > 3MtmVzUQQj1keBsr3Pq5DYkutZzu5H8wdgA 0.13700000 Waves 2024.04.25 08:31 [3077939] reward 3MtmVzUQQj1keBsr3Pq5DYkutZzu5H8wdgA > 3N13KQpdY3UU7JkWUBD9kN7t7xuUgeyYMTT 2.00000000 Waves 2024.04.25 08:31 [3077939] reward 3MtmVzUQQj1keBsr3Pq5DYkutZzu5H8wdgA > 3Myb6G8DkdBb8YcZzhrky65HrmiNuac3kvS 2.00000000 Waves 2024.04.25 08:31 [3077939] reward GENERATOR > 3MtmVzUQQj1keBsr3Pq5DYkutZzu5H8wdgA 6.00000000 Waves 2024.04.25 08:31 [3077939] invoke 3N7qUU95rkSXpo8jnwhkkbbRiroQeiLR4qx > 3MsqKJ6o1ABE37676cHHBxJRs6huYTt72ch appendBlock() 2024.04.25 08:31 [3077939] invoke 3N7qUU95rkSXpo8jnwhkkbbRiroQeiLR4qx > 3MsqKJ6o1ABE37676cHHBxJRs6huYTt72ch appendBlock() 2024.04.25 08:31 [3077939] invoke 3N7qUU95rkSXpo8jnwhkkbbRiroQeiLR4qx > 3MsqKJ6o1ABE37676cHHBxJRs6huYTt72ch appendBlock() 2024.04.25 08:31 [3077939] invoke 3MuhGCajV9HXunkyuQpwXvHTjTLaMy93g9Y > 3N4NS7d4Jo9a6F14LiFUKKYVdUkkf2eP4Zx finalizeCurrentPrice() 2024.04.25 08:31 [3077939] invoke 3N7qUU95rkSXpo8jnwhkkbbRiroQeiLR4qx > 3MsqKJ6o1ABE37676cHHBxJRs6huYTt72ch appendBlock() 2024.04.25 08:31 [3077939] invoke 3N7qUU95rkSXpo8jnwhkkbbRiroQeiLR4qx > 3MsqKJ6o1ABE37676cHHBxJRs6huYTt72ch appendBlock() 2024.04.25 08:31 [3077939] invoke 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA getBoostCoeffREADONLY() 2024.04.25 08:31 [3077939] invoke 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr > 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz usersListTraversal() 2024.04.25 08:31 [3077939] invoke 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr > 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr processPoolINTERNAL() 2024.04.25 08:31 [3077939] invoke 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr > 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr finalizeHelper() 2024.04.25 08:31 [3077939] invoke 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr > 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr finalizeWrapper() 2024.04.25 08:31 [3077939] transfer 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3MtRJTqTFmmR7iLukDw5fETSKXfJuJai7Zy claimWxINTERNAL() 0.36976097 TXW-DEVa4f6df 2024.04.25 08:31 [3077939] transfer 3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA > 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz emit() 0.36976097 TXW-DEVa4f6df 2024.04.25 08:31 [3077939] invoke 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA emit() 2024.04.25 08:31 [3077939] invoke 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA emit() 2024.04.25 08:31 [3077939] invoke 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3Myn55vLkduxbX3ZXfiDCZhaQsLxYp1kmCy claimWxBoost() 2024.04.25 08:31 [3077939] invoke 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA getBoostCoeffREADONLY() 2024.04.25 08:31 [3077939] invoke 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz claimWxINTERNAL() 2024.04.25 08:31 [3077939] invoke 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA getBoostCoeffREADONLY() 2024.04.25 08:31 [3077939] invoke 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr > 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz usersListTraversal() 2024.04.25 08:31 [3077939] invoke 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr > 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr processPoolINTERNAL() 2024.04.25 08:31 [3077939] invoke 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr > 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr finalizeHelper() 2024.04.25 08:31 [3077939] invoke 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr > 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr finalizeWrapper() 2024.04.25 08:31 [3077939] transfer 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3Muzx2gtbpmKTx67ifapnYkE49eLJtNaFmU claimWxINTERNAL() 0.44196816 TXW-DEVa4f6df 2024.04.25 08:31 [3077939] transfer 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3Muzx2gtbpmKTx67ifapnYkE49eLJtNaFmU claimWxINTERNAL() 0.11049204 TXW-DEVa4f6df 2024.04.25 08:31 [3077939] transfer 3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA > 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz emit() 0.11049204 TXW-DEVa4f6df 2024.04.25 08:31 [3077939] invoke 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA emit() 2024.04.25 08:31 [3077939] transfer 3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA > 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz emit() 0.44196816 TXW-DEVa4f6df 2024.04.25 08:31 [3077939] invoke 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA emit() 2024.04.25 08:31 [3077939] invoke 3Myn55vLkduxbX3ZXfiDCZhaQsLxYp1kmCy > 3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai getPoolConfigByLpAssetIdREADONLY() 2024.04.25 08:31 [3077939] invoke 3Myn55vLkduxbX3ZXfiDCZhaQsLxYp1kmCy > 3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA getBoostCoeffREADONLY() 2024.04.25 08:31 [3077939] invoke 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3Myn55vLkduxbX3ZXfiDCZhaQsLxYp1kmCy claimWxBoost() 2024.04.25 08:31 [3077939] invoke 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA getBoostCoeffREADONLY() 2024.04.25 08:31 [3077939] invoke 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz claimWxINTERNAL() 2024.04.25 08:31 [3077939] invoke 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA getBoostCoeffREADONLY() 2024.04.25 08:31 [3077939] invoke 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr > 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz usersListTraversal() 2024.04.25 08:31 [3077939] invoke 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr > 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr processPoolINTERNAL() 2024.04.25 08:31 [3077939] invoke 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr > 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr finalizeHelper() 2024.04.25 08:31 [3077939] invoke 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr > 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr finalizeWrapper() 2024.04.25 08:31 [3077939] invoke 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr > 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz usersListTraversal() 2024.04.25 08:31 [3077939] invoke 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr > 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr processPoolINTERNAL() 2024.04.25 08:31 [3077939] invoke 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr > 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr finalizeHelper() 2024.04.25 08:31 [3077939] invoke 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr > 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr finalizeWrapper() 2024.04.25 08:31 [3077939] invoke 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA getBoostCoeffREADONLY() 2024.04.25 08:31 [3077939] invoke 3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai > 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz onModifyWeight() 2024.04.25 08:31 [3077939] invoke 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr > 3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai modifyWeight() 2024.04.25 08:31 [3077939] transfer 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3MtRJTqTFmmR7iLukDw5fETSKXfJuJai7Zy claimWxINTERNAL() 0.00000126 TXW-DEVa4f6df 2024.04.25 08:31 [3077939] transfer 3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA > 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz emit() 0.00000126 TXW-DEVa4f6df 2024.04.25 08:31 [3077939] invoke 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA emit() 2024.04.25 08:31 [3077939] invoke 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA emit() 2024.04.25 08:31 [3077939] invoke 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3Myn55vLkduxbX3ZXfiDCZhaQsLxYp1kmCy claimWxBoost() 2024.04.25 08:31 [3077939] invoke 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA getBoostCoeffREADONLY() 2024.04.25 08:31 [3077939] invoke 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz claimWxINTERNAL() 2024.04.25 08:31 [3077939] invoke 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA getBoostCoeffREADONLY() 2024.04.25 08:31 [3077939] invoke 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr > 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz usersListTraversal() 2024.04.25 08:31 [3077939] invoke 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr > 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr processPoolINTERNAL() 2024.04.25 08:31 [3077939] invoke 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr > 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr finalizeHelper() 2024.04.25 08:31 [3077939] invoke 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr > 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr finalizeWrapper() 2024.04.25 08:31 [3077939] transfer 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3Mz9N7YPfZPWGd4yYaX6H53Gcgrq6ifYiH7 claimWxINTERNAL() 0.00000847 TXW-DEVa4f6df 2024.04.25 08:31 [3077939] transfer 3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA > 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz emit() 0.00000847 TXW-DEVa4f6df 2024.04.25 08:31 [3077939] invoke 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA emit() 2024.04.25 08:31 [3077939] invoke 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA emit() 2024.04.25 08:31 [3077939] invoke 3Myn55vLkduxbX3ZXfiDCZhaQsLxYp1kmCy > 3MsMP2pb2p8MDd6Rxb7XEXqqwEhE8ATfyai getPoolConfigByLpAssetIdREADONLY() 2024.04.25 08:31 [3077939] invoke 3Myn55vLkduxbX3ZXfiDCZhaQsLxYp1kmCy > 3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA getBoostCoeffREADONLY() 2024.04.25 08:31 [3077939] invoke 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3Myn55vLkduxbX3ZXfiDCZhaQsLxYp1kmCy claimWxBoost() 2024.04.25 08:31 [3077939] invoke 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA getBoostCoeffREADONLY() 2024.04.25 08:31 [3077939] invoke 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz claimWxINTERNAL() 2024.04.25 08:31 [3077939] invoke 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA getBoostCoeffREADONLY() 2024.04.25 08:31 [3077939] invoke 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr > 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz usersListTraversal() 2024.04.25 08:31 [3077939] invoke 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr > 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr processPoolINTERNAL() 2024.04.25 08:31 [3077939] invoke 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr > 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr finalizeHelper() 2024.04.25 08:31 [3077939] invoke 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr > 3N9Zi6AcWcGbM23jQJ4fnzFsoHoTsxYDznr finalizeWrapper() 2024.04.25 08:31 [3077939] transfer 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3N5YmVQgJTGFYg1VVcvmaAo8u7nVHpHcw2z claimWxINTERNAL() 0.00000025 TXW-DEVa4f6df 2024.04.25 08:31 [3077939] transfer 3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA > 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz emit() 0.00000025 TXW-DEVa4f6df 2024.04.25 08:31 [3077939] invoke 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA emit() 2024.04.25 08:31 [3077939] invoke 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3NBqs2vfpyT5cMdUJ97mEJ1Ycp2y8GbAZDA emit() 2024.04.25 08:31 [3077939] invoke 3Mx3zmXrMcLFCafMuPtXAzR4ZPVeZYb6qLz > 3Myn55vLkduxbX3ZXfiDCZhaQsLxYp1kmCy claimWxBoost()...
github/deemru/w8io/786bc32 10.60 ms ◑